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,无论顺序如何。我可以对列表进行排序,但我认为排序会占用大量时间。请帮忙 抱歉格式混乱。
根据您期望的重复数量,您可以简单地检查更多的most_common值吗?假设不超过 100 个具有完全相同数量的值,您可以简单地执行以下操作:
print(sorted(coun.most_common(100))[0])
Run Code Online (Sandbox Code Playgroud)
当然,您可以为 100 使用不同的值。但是现在要排序的列表最多为 100 个元组,这当然不是问题。