📅  最后修改于: 2023-12-03 14:46:25.456000             🧑  作者: Mango
在编程中,有时候我们需要从一个列表中获取唯一值,即去除列表中的重复项。Python 提供了多种方法来实现这个目标,以满足不同的需求和性能要求。
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)
这种方法逐一遍历列表中的元素,判断是否已经存在于结果列表中,如果不存在则将其添加到结果列表。虽然相对而言可读性较差且效率较低,但是在某些情况下可能更加灵活。
from collections import Counter
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(Counter(my_list))
这种方法使用了 Python 的 collections
模块中的 Counter
类。Counter
可以用于统计元素的频率,并且返回一个字典,其中元素是键,频率是值。我们可以只获取字典的键作为结果。
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
方法去除重复项,再将结果转换为列表。
总结:
以上是从列表中获取唯一值的五种常用方法。根据实际情况和需求选择合适的方法,使代码更加高效和简洁。