我有一个这样的字典列表:
students = [
{'name': 'alex','class': 'A'},
{'name': 'richard','class': 'A'},
{'name': 'john','class': 'C'},
{'name': 'harry','class': 'B'},
{'name': 'rudolf','class': 'B'},
{'name': 'charlie','class': 'E'},
{'name': 'budi','class': 'C'},
{'name': 'gabriel','class': 'B'},
{'name': 'dessy', 'class': 'B'}
]
我想按类对这些词典进行分组,将它们附加到列表中,并将每个列表附加到列表中:
[[{'name': 'alex', 'class': 'A'},
{'name': 'richard', 'class': 'A'}],
[{'name': 'harry', 'class': 'B'},
{'name': 'rudolf', 'class': 'B'},
{'name': 'gabriel', 'class': 'B'},
{'name': 'dessy', 'class': 'B'}],
[{'name': 'john', 'class': 'C'},
{'name': 'budi', 'class': 'C'}],
[{'name': 'charlie', 'class': 'E'}]]
我知道如何使用itemgetter对上一个列表进行排序:
import itertools
from operator import itemgetter
students = sorted(students, key=itemgetter('class'))
如何将它们分组附加到列表中并创建列表列表?此外,在这种情况下使用集合会更好吗(顺序无关紧要,只要字典是按类分组的)
groupby
救援:如果你想的话,你也可以在课堂上写一篇短文:
你可以用
defaultdict
来做输出
如果您想“手动”执行此操作:
相关问题 更多 >
编程相关推荐