📌  相关文章
📜  Python|从列表中获取唯一值(1)

📅  最后修改于: 2023-12-03 14:46:25.456000             🧑  作者: Mango

Python | 从列表中获取唯一值

在编程中,有时候我们需要从一个列表中获取唯一值,即去除列表中的重复项。Python 提供了多种方法来实现这个目标,以满足不同的需求和性能要求。

方法一:使用 set() 函数
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))

这种方法简单高效,利用了集合(set)的特性。集合只能包含唯一的元素,因此将列表转换为集合后再转换回列表,会自动去除重复值。

方法二:使用列表推导式
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(my_list))

这种方法利用了字典(dict)的特性,我们将列表中的元素作为字典的键,而对应的值可以为空。字典的键是唯一的,因此可以使用这种方式去除重复项。

方法三:使用循环迭代
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = []
for item in my_list:
    if item not in unique_list:
        unique_list.append(item)

这种方法逐一遍历列表中的元素,判断是否已经存在于结果列表中,如果不存在则将其添加到结果列表。虽然相对而言可读性较差且效率较低,但是在某些情况下可能更加灵活。

方法四:使用 collections.Counter
from collections import Counter

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(Counter(my_list))

这种方法使用了 Python 的 collections 模块中的 Counter 类。Counter 可以用于统计元素的频率,并且返回一个字典,其中元素是键,频率是值。我们可以只获取字典的键作为结果。

方法五:使用 pandas 库
import pandas as pd

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = pd.Series(my_list).drop_duplicates().tolist()

这种方法需要安装 pandas 库。使用 pandas 创建一个 Series 对象,通过调用 drop_duplicates 方法去除重复项,再将结果转换为列表。

总结:

以上是从列表中获取唯一值的五种常用方法。根据实际情况和需求选择合适的方法,使代码更加高效和简洁。