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

Python列表如何删除所有出现多次的元素,仅保留仅出现一次的元素

Python实现移除列表中所有出现过多次的元素

你当前的代码逻辑是普通去重,仅会跳过已经添加过的元素,最终会保留每个重复元素的第一个实例,和你要的「所有出现次数>1的元素全部移除」的需求不符。

方法1:使用标准库collections.Counter实现(最简洁)

Counter是Python标准库中专门用于统计可迭代对象元素频率的工具,实现代码如下:

from collections import Counter

my_list = [1,2,3,4,2,3]
# 先统计所有元素的出现次数
element_counts = Counter(my_list)
# 仅保留出现次数等于1的元素
new_list = [x for x in my_list if element_counts[x] == 1]
print(new_list)
# 输出:[1, 4]

方法2:手动统计频率(无需导入额外库)

如果不想导入标准库,可以自己用字典实现频率统计,逻辑和上述方法一致:

my_list = [1,2,3,4,2,3]
element_counts = {}
# 第一步:遍历列表统计每个元素的出现次数
for num in my_list:
    element_counts[num] = element_counts.get(num, 0) + 1
# 第二步:筛选出现次数等于1的元素
new_list = [num for num in my_list if element_counts[num] == 1]
print(new_list)
# 输出:[1, 4]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:12:00