python如何不重复的数据有多少条

python如何不重复的数据有多少条

作者:Rhett Bai发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何用Python统计列表中不重复元素的数量?

我有一个包含多个重复元素的列表,想知道如何用Python代码来计算列表中不重复元素的个数。

A

使用set函数统计不重复元素数量

可以使用Python内置的set函数将列表转换成集合,集合中的元素都是唯一的。然后通过len函数获取集合的长度,就能知道列表中不重复元素的数量。例如:

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_count = len(set(my_list))
print(unique_count)  # 输出5
Q
怎样用Python找出数据中不重复的条目有哪些?

除了统计数量,我还想得到这些不重复的数据本身,Python应该怎么操作?

A

利用set或字典获取唯一元素列表

可以通过将列表转换为集合,得到的集合即为不重复的数据。如果希望结果是列表类型,可以再转回列表:

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_items = list(set(my_list))
print(unique_items)  # 输出[1, 2, 3, 4, 5],元素顺序不固定

如果想保持原列表中的顺序,可以用下面方式:

unique_items = []
seen = set()
for item in my_list:
    if item not in seen:
        unique_items.append(item)
        seen.add(item)
print(unique_items)
Q
Python中有无简便函数统计不重复数据条目数量?

想知道有没有Python库函数直接输出数据中不重复元素数量,而不必自己写循环或者转换集合。

A

使用collections库的Counter或者pandas库的nunique方法

Python标准库的collections模块有Counter类,可以获取所有元素的频次,进而统计不重复元素数目;对于数据分析常用的pandas库,可以直接用nunique方法获取不同值的数量。例如使用pandas:

import pandas as pd

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_count = pd.Series(my_list).nunique()
print(unique_count)  # 输出5

使用Counter后取键的数量:

from collections import Counter
my_list = [1, 2, 2, 3, 4, 4, 5]
counter = Counter(my_list)
unique_count = len(counter)
print(unique_count)  # 输出5