# 方法一:使用collections模块中的Counter函数
# 然后调用most_common()方法
# from collections import Counter
# a = Counter(nums)
# b = a.most_common()[0][0]
# return b
============
a = [1, 2, 3, 2, 2, 2, 5, 4, 2]
b = Counter(a)
print(b) # Counter({2: 5, 1: 1, 3: 1, 5: 1, 4: 1})
print(b.items()) # dict_items([(1, 1), (2, 5), (3, 1), (5, 1), (4, 1)])
print(b.most_common()) # [(2, 5), (1, 1), (3, 1), (5, 1), (4, 1)]
print(b.most_common()[0][0]) # 2
==============
# 或者
import collections
nums = [1, 2, 3, 2, 2, 2, 5, 4, 2]
counts = collections.Counter(nums)
print(counts) # Counter({2: 5, 1: 1, 3: 1, 5: 1, 4: 1})
print(counts.keys()) # dict_keys([1, 2, 3, 5, 4])
print(counts.get(2)) # 5
# key=counts.get 每个数字出现的次数
return max(counts.keys(), key=counts.get)
python--Counter()统计列表中超过一半的数字
最新推荐文章于 2022-04-24 15:44:58 发布