我想为这样的输入写一个函数
1405684432, d8:c7:c8:5e:7c:2d, SUTD_GLAB, 72
1405684432, d8:c7:c8:5e:7c:2c, SUTD_BOT, 72
1405684432, d8:c7:c8:5e:7c:2b, SUTD_Student, 72
1405684432, d8:c7:c8:5e:7c:2a, SUTD_Staff, 72
1405684433, d8:c7:c8:5e:7c:29, SUTD_ILP2, 71
1405684433, d8:c7:c8:5e:7d:eb, SUTD_Student, 57
1405684433, d8:c7:c8:5e:7d:ea, SUTD_Staff, 57
输出将给我两个列表或文件按第一列分组,这意味着如果第一列中的数字相同,它将分组为一个列表。结果应该是这样的:
列出一个:
1405684432, d8:c7:c8:5e:7c:2d, SUTD_GLAB, 72
1405684432, d8:c7:c8:5e:7c:2c, SUTD_BOT, 72
1405684432, d8:c7:c8:5e:7c:2b, SUTD_Student, 72
1405684432, d8:c7:c8:5e:7c:2a, SUTD_Staff, 72
第二点:
1405684433, d8:c7:c8:5e:7c:29, SUTD_ILP2, 71
1405684433, d8:c7:c8:5e:7d:eb, SUTD_Student, 57
1405684433, d8:c7:c8:5e:7d:ea, SUTD_Staff, 57
我不知道该用哪种方法。你知道吗
Python代码:
输出:
我会选择用字典来记录第一列。一种解决方案是使用以下方法:
在Python2中给出了列表列表,在Python3中给出了列表迭代器。你知道吗
请注意,这些行存储为完整的字符串,而不是进一步拆分为列表。你知道吗
您可以使用
itertools.groupby()
。(假设输入按该列排序。)示例:
输出:
供参考:
相关问题 更多 >
编程相关推荐