📅  最后修改于: 2023-12-03 15:12:01.774000             🧑  作者: Mango
在编程中,我们经常需要对列表中的元素进行去重操作。Python 中提供了多种方法来实现这一目标。
使用集合(set)的特性进行去重,可以用以下代码实现:
my_list = [1, 2, 2, 3, 3, 4, 5, 6, 6]
unique_items = set(my_list)
print(unique_items)
输出结果:
{1, 2, 3, 4, 5, 6}
这个方法简单易懂,但会打乱原本的元素顺序。如果希望保留原来的顺序,可以通过转换为字典再转回列表的方式实现,如下:
my_list = [1, 2, 2, 3, 3, 4, 5, 6, 6]
unique_items = list(dict.fromkeys(my_list))
print(unique_items)
输出结果:
[1, 2, 3, 4, 5, 6]
使用列表推导式可以方便地对列表进行过滤,实现去重效果。代码如下:
my_list = [1, 2, 2, 3, 3, 4, 5, 6, 6]
unique_items = []
[unique_items.append(x) for x in my_list if x not in unique_items]
print(unique_items)
输出结果:
[1, 2, 3, 4, 5, 6]
filter() 函数可以筛选出符合条件的元素,然后生成一个新的列表。使用这个函数,可以快速去重。代码如下:
my_list = [1, 2, 2, 3, 3, 4, 5, 6, 6]
unique_items = list(filter(lambda x: my_list.count(x)==1, my_list))
print(unique_items)
输出结果:
[1, 4, 5]
这个方法只保留列表中只出现过一次的元素,可以根据实际需求进行选择。
以上三种方法都可以实现列表中唯一元素的计算,根据实际需求进行选择。