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

如何过滤列表中仅出现一次的元素,生成仅含重复元素的新列表

过滤列表中仅出现一次的元素

需求:给定一个整数列表,生成新列表,仅保留原列表中非单次出现的元素(即保留所有出现次数≥2的元素的每一个实例)。

输入列表:

item_list = [502, 502, 1341, 1342, 1500, 1500, 2521, 2521, 3078, 3688, 4191, 5185, 5701, 5701]

期望输出:

filtered_list = [502, 502, 1500, 1500, 2521, 2521, 5701, 5701]

方法一:用collections.Counter统计次数(高效简洁)

先统计每个元素的出现次数,再遍历原列表筛选符合条件的元素:

from collections import Counter

item_list = [502, 502, 1341, 1342, 1500, 1500, 2521, 2521, 3078, 3688, 4191, 5185, 5701, 5701]
counts = Counter(item_list)
filtered_list = [item for item in item_list if counts[item] > 1]

print(filtered_list)
# 输出: [502, 502, 1500, 1500, 2521, 2521, 5701, 5701]

方法二:手动统计次数(无需导入模块)

如果不想用内置模块,可以手动遍历列表统计次数,再筛选:

item_list = [502, 502, 1341, 1342, 1500, 1500, 2521, 2521, 3078, 3688, 4191, 5185, 5701, 5701]
counts = {}
# 先统计每个元素的出现次数
for item in item_list:
    counts[item] = counts.get(item, 0) + 1
# 筛选出非单次出现的元素
filtered_list = [item for item in item_list if counts[item] > 1]

print(filtered_list)
# 输出: [502, 502, 1500, 1500, 2521, 2521, 5701, 5701]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:22:48