如何在列表 Python 中找到重复次数最多的元素?

Uda*_*y P 0 python counter list python-3.x

我目前正在为此使用 Counter() 方法。但我面临的问题是,当有多个元素具有相同数量的值时,我会得到列表中最先出现的 number 键值。

a=[1,3,2,2,3]  
coun=Counter(a)
print(coun.most_common(1))
Run Code Online (Sandbox Code Playgroud)

输出: [(3,2)]

a=[1,2,3,2,3]  
coun=Counter(a)
print(coun.most_common(1))
Run Code Online (Sandbox Code Playgroud)

输出: [(2,2)]

我想获得较低的键值,而不是首先出现的键值,即 2,无论顺序如何。我可以对列表进行排序,但我认为排序会占用大量时间。请帮忙 抱歉格式混乱。

Exe*_*ian 5

根据您期望的重复数量,您可以简单地检查更多的most_common值吗?假设不超过 100 个具有完全相同数量的值,您可以简单地执行以下操作:

print(sorted(coun.most_common(100))[0])
Run Code Online (Sandbox Code Playgroud)

当然,您可以为 100 使用不同的值。但是现在要排序的列表最多为 100 个元组,这当然不是问题。