📜  计算 python 列表中的重复值 - Python (1)

📅  最后修改于: 2023-12-03 15:11:59.689000             🧑  作者: Mango

计算 Python 列表中的重复值

本文介绍如何计算 Python 列表中的重复值。

方法一:使用 Counter

Python 的 collections 模块中的 Counter 类可以帮助我们统计某个列表中每个元素出现的次数,从而得知重复元素的数量。

示例代码:

from collections import Counter

# 定义一个列表
lst = [1, 2, 3, 2, 4, 5, 4, 6]

# 使用 Counter 统计元素数量
counter = Counter(lst)

# 输出重复元素和其数量
for item, count in counter.items():
    if count > 1:
        print(f"{item}: {count}")

输出结果:

2: 2
4: 2
方法二:使用 set

另一种方法是先将列表转为集合,然后使用集合的交集运算符 & 得到重复的元素。

示例代码:

# 定义一个列表
lst = [1, 2, 3, 2, 4, 5, 4, 6]

# 使用集合的交集运算符 & 得到重复元素
duplicates = set(x for x in lst if lst.count(x) > 1)

# 输出重复元素
print(duplicates)

输出结果:

{2, 4}
方法三:使用 numpy

如果列表中的元素是数值类型,在安装了 numpy 库的情况下,我们可以使用 numpy 的 unique 函数来统计元素出现的次数。

示例代码:

import numpy as np

# 定义一个列表
lst = [1, 2, 3, 2, 4, 5, 4, 6]

# 使用 numpy 的 unique 函数来统计元素出现的次数
values, counts = np.unique(lst, return_counts=True)

# 输出重复元素和其数量
duplicates = []
for value, count in zip(values, counts):
    if count > 1:
        duplicates.append(value)
print(duplicates)

输出结果:

[2, 4]

以上就是计算 Python 列表中的重复值的几种方法,使用起来相对简单,可以根据实际需要选择合适的方法。