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

如何用Python统计多个列表中各元素的跨列表出现次数

实现方案

核心思路

  • 由于只需要统计元素在多少个列表中出现,同一个列表内的重复元素不需要重复计数,因此先将每个列表转换为集合做去重处理
  • 遍历所有集合的元素,用计数器累加每个元素的出现次数,最终得到的次数就是元素存在的列表数量

代码实现

方法1:使用collections.Counter(最简洁)

from collections import Counter

l1 = [1,22,63,4,5,66,7]
l2 = [1,22,3,5,6,4]
l3 = [1,2,3,5,66,4,70]

# 把所有待统计的列表放到一个容器里
all_lists = [l1, l2, l3]

# 生成计数结果
element_count = Counter(elem for lst in all_lists for elem in set(lst))

# 转为字典查看结果,也可以直接遍历element_count使用
print(dict(element_count))

输出结果:

{1: 3, 22: 2, 63: 1, 4: 3, 5: 3, 66: 2, 7: 1, 3: 2, 6: 1, 2: 1, 70: 1}

方法2:用原生字典实现(无需导入额外库)

l1 = [1,22,63,4,5,66,7]
l2 = [1,22,3,5,6,4]
l3 = [1,2,3,5,66,4,70]
all_lists = [l1, l2, l3]

element_count = {}
for lst in all_lists:
    # 每个列表先去重,避免同一列表内重复元素多次计数
    unique_elems = set(lst)
    for elem in unique_elems:
        element_count[elem] = element_count.get(elem, 0) + 1

print(element_count)

输出结果和方法1完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:54:03