如何重组元组列表?
How to reorganize a list of tuples?
假设我有一个元组列表:
[(98, 'studentA'), (97, 'studentB'), (98, 'studentC'), (95,'studentD')]
我想组织它,让学生按元组中的第一个数字分组,最好的方法是什么?
我正在考虑创建一个列表数组,其中数组的每个索引都是不同的分数(在本例中为 98、97 和 95),学生将在该索引的列表中。对于一个更大的数据集,我正在考虑创建一个链接哈希 table,但我不确定将它百分比化为什么,以保证两个不相同的分数不会被哈希到同一个位置.
为什么不使用 dict
? collections.defaultdict
也可以:
d = defaultdict(list)
for score, student in l:
d[score] += student
尝试使用带有数字键的排序
sorted(students, key=(lambda x: x[0]))
但是对于大型数据集,字典会更好
假设我有一个元组列表:
[(98, 'studentA'), (97, 'studentB'), (98, 'studentC'), (95,'studentD')]
我想组织它,让学生按元组中的第一个数字分组,最好的方法是什么?
我正在考虑创建一个列表数组,其中数组的每个索引都是不同的分数(在本例中为 98、97 和 95),学生将在该索引的列表中。对于一个更大的数据集,我正在考虑创建一个链接哈希 table,但我不确定将它百分比化为什么,以保证两个不相同的分数不会被哈希到同一个位置.
为什么不使用 dict
? collections.defaultdict
也可以:
d = defaultdict(list)
for score, student in l:
d[score] += student
尝试使用带有数字键的排序
sorted(students, key=(lambda x: x[0]))
但是对于大型数据集,字典会更好