[英]Python: Get the lowest, most frequent value of a list
嗨社区? 你能帮我解决以下问题吗? 我无法为我的问题找到有效的解决方案。 非常感谢任何帮助! 提前感谢大家!
我的问题:作为第一步,我想确定给定整数列表中最常见的值。 作为第二步,如果有多个最常见的值,我想取其中最低的一个。
示例:给定以下列表,我想收到“ 5 ”,因为它是最低、最频繁的值。
list = [1,2,3,4,5,5,5,6,6,6,7,7,8,8,8]
请你帮助我好吗? 谢谢!
In [24]: list = [1,2,3,4,5,5,5,6,6,6,7,7,8,8,8]
...:
In [25]: max(sorted(set(list)), key=list.count)
Out[25]: 5
可以使用内置Counter
class 在线性时间内从多个候选值中获取最常见的值:
from collections import Counter
l = [1,2,3,4,5,5,5,6,6,6,7,7,8,8,8]
counter = Counter(l)
_, top_freq = counter.most_common(1)[0]
lower_most_common = min(key for key, freq in counter.items() if freq == top_freq)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.