You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何找出列表中出现次数相同的最常见元素及其计数

如何用most_common获取出现次数相同的高频元素?

嘿,这个需求我做统计分析的时候也碰到过!直接用collections.Counter的most_common()默认只会按频次降序返回所有元素,但要精准抓取所有出现次数等于最高频次的元素,只需要多两步处理就行,我给你一步步演示:

核心思路

  1. 用Counter统计列表中每个元素的出现次数
  2. 获取最高的频次数值
  3. 筛选出所有次数等于该最高值的元素,整理成你需要的元组列表格式

代码实现

首先导入必备的模块:

from collections import Counter

处理列表A的情况

A = [1,2,3,5,2,3]
# 第一步:统计元素频次
counter_a = Counter(A)
# 第二步:获取最高频次(取most_common第一个元素的次数值)
max_freq = counter_a.most_common(1)[0][1]
# 第三步:筛选所有频次等于最高值的元素
result_a = [item for item in counter_a.most_common() if item[1] == max_freq]
print(result_a)  # 输出:[(2, 2), (3, 2)]

处理列表B的情况

B = [1,2,3,5,2,3,5]
counter_b = Counter(B)
max_freq_b = counter_b.most_common(1)[0][1]
result_b = [item for item in counter_b.most_common() if item[1] == max_freq_b]
print(result_b)  # 输出:[(2, 2), (3, 2), (5, 2)]

小说明

  • Python 3.7及以上版本中,Counter会保持元素的插入顺序,所以筛选后的结果顺序和元素第一次出现的顺序一致,正好匹配你给出的示例
  • 如果不需要保持顺序,也可以用sorted()对结果做排序,比如sorted(result_a)就能按元素值排序

内容的提问来源于stack exchange,提问作者Small_J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:19:14