我有一个词典列表,例如:
[{'person':'guybrush','job':'pirate'},{'person':'leChuck','job':'pirate'}, {'person':'elaine','job':'governor'}]
我想显示按工作分组的人员。因此,在前端,我们可以选择一份工作并查看所有拥有所选工作的人员。
在使用令人困惑的嵌套循环和列表之前,我已经执行了这样的功能。
您认为获得此结果的最有效方法是什么?
pirate = ['guybrush','leChuck']
governor = ['elaine']
答案 0 :(得分:21)
使用defaultdict
:
persons_by_jobs = defaultdict(list)
for person in persons:
persons_by_jobs[person['job']].append(person['person'])