Python统计列表重复元素 计数值并列时如何选取数值更高的对应键
实现方案
直接通过max()函数自定义排序规则即可实现需求,排序逻辑优先匹配计数值大小,计数值相等时匹配键本身的数值大小。
核心逻辑
# 对计数字典的键值对排序,取排序结果最高项的键 result = max(count_dict.items(), key=lambda item: (item[1], item[0]))[0]
排序规则说明:
- 第一层优先比较每个键值对的计数值
item[1],计数值越大排序越靠前 - 计数值相等时,第二层比较键本身的数值
item[0],数值越大排序越靠前
完整可运行代码
不需要显式将Counter结果转为字典,可直接调用items()方法迭代:
from collections import Counter py = [1,3,2,1,3,3,3,1,2,1] result = max(Counter(py).items(), key=lambda item: (item[1], item[0]))[0] print(result)
运行输出:3,符合预期要求。
内容的提问来源于stack exchange,提问作者Habib Ur Rehman
相关产品推荐
相关产品推荐

