[英]Find most common element
如何在不导入库的情况下打印列表中最常见的元素?
l=[1,2,3,4,4,4]
所以我希望 output 是4
。
lst=[1,2,2,2,3,3,4,4,5,6]
from collections import Counter
Counter(lst).most_common(1)[0]
Counter(lst)
返回元素出现对的dict
。 most_common(n)
从字典中返回 n 个最常见的元素,以及出现的次数。
您可以使用 hashmap/dict 获取 most_common 项(无需导入任何库):
>>> l = [1, 2, 3, 4, 4, 4]
>>> counts = dict()
>>> # make a hashmap - dict()
>>> for n in nums:
counts[n] = counts.get(n, 0) + 1
>>> most_common = max(counts, key=counts.get)
4
您可以先获取唯一值:
l = [1, 2, 3, 4, 4, 4]
s = set(l)
然后您可以创建(出现次数,值)元组列表
freq = [(l.count(i), i) for i in s] # [(1, 1), (1, 2), (1, 3), (3, 4)]
获取“最大”元素(出现次数最多,如果有多个相同的出现次数,则为最大值):
result = max(freq) # (3, 4)
并打印值:
print(result[1]) # 4
或作为“单线”方式:
l = [1, 2, 3, 4, 4, 4]
print(max((l.count(i), i) for i in set(l))[1]) # 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.