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

如何在Python中从列表提取仅出现一次的元素?

找出列表中仅出现一次的元素

给定列表:

list1 = [1, 1, 2, 3, 3]

需要输出其中仅出现一次的数字2。目前使用的去重代码:

lt = [1,1,2,3,3]
new_lt = []
for i in lt:
    if i not in new_lt:
        new_lt.append(i)
print(new_lt)

输出结果为:

[1, 2, 3]

该结果无法满足需求,以下是几种实现精确输出仅出现一次元素的Python代码方案:

  • 方法一:利用列表count()方法遍历判断
lt = [1, 1, 2, 3, 3]
for num in lt:
    if lt.count(num) == 1:
        print(num)  # 输出2

直接遍历每个元素,统计其在列表中的出现次数,等于1时输出目标元素,适合小规模列表场景。

  • 方法二:用collections.Counter统计频次(高效方案)
from collections import Counter

lt = [1, 1, 2, 3, 3]
counts = Counter(lt)
for num, cnt in counts.items():
    if cnt == 1:
        print(num)  # 输出2

Counter会一次性统计所有元素的出现频次,遍历结果筛选出频次为1的元素,处理大列表时效率优于count()方法。

  • 方法三:手动通过字典统计频次
lt = [1, 1, 2, 3, 3]
freq = {}
for num in lt:
    freq[num] = freq.get(num, 0) + 1
for num, cnt in freq.items():
    if cnt == 1:
        print(num)  # 输出2

通过字典手动记录每个元素的出现次数,再筛选目标元素,逻辑清晰,无需导入额外模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:25:01