假设有一个变量mp_affiliation与一个字典相关联,该字典将议会成员的姓名映射到党派,并与变量party_size相关联,该字典将党名称映射到他们拥有的成员数量。
party_size={}
for i in list(mp_affiliation.values):
party_size[i]=0
for k in mp_affiliation:
for i in party_size:
if mp_affiliation[k]==i
party_size[i]+=1
答案 0 :(得分:4)
试试这个,如果我们使用内置的Counter
类,它会更简单:
from collections import Counter
party_size = Counter(mp_affiliation.values())
现在party_size
变量将包含一个字典,用于将政党与议员数量相对应。但是如果你想手工完成这个,那么答案就是:
party_size = {}
for i in mp_affiliation.values():
party_size[i] = 0
for i in mp_affiliation.values():
party_size[i] += 1
或稍短,使用defaultdict
:
from collections import defaultdict
party_size = defaultdict(int)
for i in mp_affiliation.values():
party_size[i] += 1
答案 1 :(得分:1)
无需导入任何特殊内容或编写方法来执行此操作。循环键和值,如果政党已经在dict中,则在成员计数中加1,否则将其添加到dict并将成员计数设置为1.
party_size = {}
for (k, v) in mp_affiliation.items():
if v in party_size.keys():
party_size[v]+=1
else:
party_size[v] = 1