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

Python如何统计列表中出现次数超过1次的重复子列表数量

子列表重复频次统计实现方案

核心逻辑:由于Python列表是可变不可哈希类型,无法直接作为计数的key,因此先将每个子列表转为不可变的元组,再统计各元组的出现次数,最后统计出现次数大于1的元组总数即可。
两种实现均无第三方依赖,时间复杂度为O(n),适配11万级的数据量无性能压力。

实现1:使用标准库collections.Counter(标准库无需额外安装)

from collections import Counter

# 替换为你的实际列表即可
original_list = [[123, 456], [111, 111], [222, 222], [333, 333], [123, 456], [222, 222], [123, 456]]

# 转换为元组后统计频次
count_result = Counter(tuple(sublist) for sublist in original_list)

# 计算出现次数>1的元素总数
output = sum(1 for count in count_result.values() if count > 1)

print(output)
# 示例输出:2

实现2:完全不导入模块,原生字典实现

original_list = [[123, 456], [111, 111], [222, 222], [333, 333], [123, 456], [222, 222], [123, 456]]
count_dict = {}

for sub in original_list:
    key = tuple(sub)
    count_dict[key] = count_dict.get(key, 0) + 1

output = 0
for cnt in count_dict.values():
    if cnt > 1:
        output += 1

print(output)
# 示例输出:2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:06:02