python - 在python中选择名称列表中的最大迭代名称

标签 python list counter voting

我有一个名称列表,有些名称可能会重复。我想为每个名称创建一个计数器来选择最大迭代的名称。例如我的列表如下:

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})

为了获取计数最高的字符串,您可以使用 Counter 中的 most_common 方法:

Counter(l).most_common(1)
# [('ABC', 4)]

关于python - 在python中选择名称列表中的最大迭代名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55145042/

相关文章:

python - 列表推导式中表达式的执行顺序

按钮旁边的 Android 小计数器

java - 为什么我的计数器在循环中递增,但返回零?

python - Python 中的重定向打印 : val = print(arg) to output mixed iterable to file

python - 如果满足条件,则将连续的字符串对连接到列表中

ruby-on-rails - 每日、每周和每月页面查看计数器

python - 在 python 中使用确定组合不同的长列表

python - 如何按名称获取 QListWidget 项目?

python - pandas如何在 `groupby`之后按顺序添加一列?

python - RStudio 发现 Python pyenv 安装,但我无法运行 Python 进程