如果您的字典具有多个键和值,那么您将如何查找哪个值在该字典中出现得最多。我对编码非常陌生,所以我不想导入任何东西。我在想,也许是创建一个空列表,用一些for循环通读字典,然后开始计数,然后将出现次数最多的项添加到此列表中。这可能吗?我越简单就能越好
样本数据:
dict = {'Bob': ['Paul', 'Mark', 'Carol', 'Leanne', 'Will'], 'Carol': ['Mark', 'Leanne'], 'Farley': ['Paul'], 'Leanne': ['Sarai'], 'Larry': ['Carol', 'Mark', 'Leanne', 'Will'], 'Mark': ['Philip', 'Zach'], 'Paul': ['Zach'], 'Will': ['Leanne', 'Mark'], 'Zach': ['Philip']}
如果您不想使用collections包,请创建一个函数来填充字典
c = {}
In [23]: for k,v in dict1.items():
...: for elem in v:
...: if elem not in c:
...: c[elem]=1
...: else:
...: c[elem]+=1
...:
In [24]:
In [24]: c
Out[24]:
{'Paul': 2,
'Mark': 4,
'Carol': 2,
'Leanne': 4,
'Will': 2,
'Sarai': 1,
'Philip': 2,
'Zach': 2}
如果多个键具有最大值
maxVal =0
In [44]: for v in c.values():
...: if v > maxVal:
...: maxVal = v
...:
In [45]: maxVal
Out[45]: 4
In [31]: keys= []
In [34]: for k,v in c.items():
...: if v == maxVal:
...: keys.append(k)
...:
...:
In [36]: print(*keys,sep=',')
Mark,Leanne
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句