Python Counter()一步统计出现次数最多的元素

# 代码
from collections import Counter
nums = [1,2,2,2]
counts = Counter(nums)
print(counts)

#输出
Counter({2: 3, 1: 1})

# 代码
print(max(counts.keys(), key=counts.get))

#输出
2

# 代码
print(counts.most_common(1))

#输出
[(2, 3)]


解释:

1.most_common(n)

这个方法返回 [()] (列表里面包含元祖)的形式。它先将Counter({2: 3, 1: 1})的键值对按照值进行排序(默认从大到小)。参数n表示返回的结果选取列表中的前n个元素。若没有传入参数n则默认返回所有的元素。比如most_common(1)是返回出现次数最多的元素,即“2”,出现了3次。

2.max(counts.keys(), key=counts.get)

意为对counts.keys(),即Counter({2: 3, 1: 1})的键进行排序,排序的参照为get方法得到的counts的值的大小。然后选取最大值输出。

3. max(arg1, arg2, *args[, key]) 

如果只提供了一个位置参数,它必须是非空 iterable,返回可迭代对象中最大的元素;

如果提供了两个及以上的位置参数,则返回最大的位置参数。

key 实参指定排序函数用的参数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值