使用Python将字典排序为组的最佳方法

时间:2012-01-12 10:12:31

标签: python list sorting

我有一个词典列表,例如:

[{'person':'guybrush','job':'pirate'},{'person':'leChuck','job':'pirate'}, {'person':'elaine','job':'governor'}]

我想显示按工作分组的人员。因此,在前端,我们可以选择一份工作并查看所有拥有所选工作的人员。

在使用令人困惑的嵌套循环和列表之前,我已经执行了这样的功能。

您认为获得此结果的最有效方法是什么?

pirate = ['guybrush','leChuck']
governor = ['elaine']

1 个答案:

答案 0 :(得分:21)

使用defaultdict

这很简单
persons_by_jobs = defaultdict(list)
for person in persons:
    persons_by_jobs[person['job']].append(person['person'])