Python 列出一个列表中的所有重复元素

Document 对象参考手册 Python3 实例

我们可以通过使用 Python 的 collections.Counter 来统计列表中每个元素的出现次数,然后筛选出出现次数大于 1 的元素,这些就是列表中的重复元素。

实例

from collections import Counter

def find_duplicates(lst):
    # 使用 Counter 统计每个元素的出现次数
    count = Counter(lst)
    # 筛选出出现次数大于 1 的元素
    duplicates = [item for item, cnt in count.items() if cnt > 1]
    return duplicates

# 示例列表
my_list = [1, 2, 3, 4, 2, 5, 6, 3, 7, 8, 8]
# 调用函数找出重复元素
result = find_duplicates(my_list)
print(result)

代码解析:

  1. from collections import Counter:导入 Counter 类,用于统计列表中每个元素的出现次数。
  2. count = Counter(lst):使用 Counter 统计列表 lst 中每个元素的出现次数,结果是一个字典,键是元素,值是该元素的出现次数。
  3. duplicates = [item for item, cnt in count.items() if cnt > 1]:通过列表推导式筛选出出现次数大于 1 的元素,这些就是重复元素。
  4. return duplicates:返回包含所有重复元素的列表。
  5. my_list = [1, 2, 3, 4, 2, 5, 6, 3, 7, 8, 8]:定义一个示例列表。
  6. result = find_duplicates(my_list):调用 find_duplicates 函数,找出列表中的重复元素。
  7. print(result):输出结果。

输出结果:

实例

[2, 3, 8]

Document 对象参考手册 Python3 实例