📅  最后修改于: 2023-12-03 15:11:59.689000             🧑  作者: Mango
本文介绍如何计算 Python 列表中的重复值。
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
另一种方法是先将列表转为集合,然后使用集合的交集运算符 & 得到重复的元素。
示例代码:
# 定义一个列表
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 的 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 列表中的重复值的几种方法,使用起来相对简单,可以根据实际需要选择合适的方法。