我有一个名称列表,有些名称可能会重复。我想为每个名称创建一个计数器,以选择最大的迭代名称。例如,我的列表如下:
This condition will always return 'false' since types 'T' and 'string' has no overlap
我希望程序返回:
list = ['ABC', 'BCD', 'ASD', 'ABC', 'ABC', 'ABC', 'ZXC', 'BCD']
最后,我想选择最大的迭代名称作为赢家。我怎样才能做到这一点。谁能帮我,我将感谢他。
答案 0 :(得分:3)
您可以使用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)]