这个问题在这里已有答案:
我有一个名单,一些名称可能会被迭代。我想为每个名称创建一个计数器来选择最大的迭代值。例如我的列表如下:
list = ['ABC', 'BCD', 'ASD', 'ABC', 'ABC', 'ABC', 'ZXC', 'BCD']
我希望程序返回:
ABC = 4
BCD = 2
ASD = 1
ZXC = 1
最后,我想选择最大的迭代名称作为胜利者。我怎样才能做到这一点。任何人都可以帮助我,我会感谢他。
你可以使用collections.Counter
:
from collections import Counter
Counter({'ABC': 4, 'BCD': 2, 'ASD': 1, 'ZXC': 1})
# Counter({'ABC': 4, 'BCD': 2, 'ASD': 1, 'ZXC': 1})
并且为了获得具有最高计数的字符串,您可以使用most_common
中的Counter
方法:
Counter(l).most_common(1)
# [('ABC', 4)]