在Python中如何使用set()函数从列表中删除重复元素?
发布时间:2023-06-09 17:34:24
在Python中,set()函数可以用来从列表中删除重复元素。set()函数可以将任何可迭代对象转换为一个集合,它会删除重复元素并返回一个新的集合对象。
下面是使用set()函数从列表中删除重复元素的示例代码:
# 定义一个包含重复元素的列表 lst = [1, 2, 3, 2, 4, 1, 5] # 使用set()函数获取不含重复元素的集合对象 uniq = set(lst) # 将集合对象转换成列表 new_lst = list(uniq) # 打印结果 print(new_lst)
上述代码首先定义了一个包含重复元素的列表lst,并使用set()函数获取一个新的集合对象uniq,该集合对象中仅包含lst中不重复的元素。接着,使用list()函数将集合对象转换成列表new_lst,最后打印new_lst的结果,即[1, 2, 3, 4, 5]。
需要注意的是,set()函数将会改变元素之间的顺序。在上述示例代码中,new_lst中元素的顺序与原始列表lst中的顺序不同。如果需要保留原始列表中元素的顺序,可以使用OrderedDict(有序字典)来实现:
from collections import OrderedDict # 定义一个包含重复元素的列表 lst = [1, 2, 3, 2, 4, 1, 5] # 使用OrderedDict获取不重复元素的有序字典 uniq = OrderedDict.fromkeys(lst) # 将有序字典转换成列表 new_lst = list(uniq.keys()) # 打印结果 print(new_lst)
上述代码中,首先使用OrderedDict.fromkeys()函数获取一个有序字典uniq,该有序字典中仅包含lst中不重复的元素,元素的顺序与lst中的顺序相同。接着,使用list()函数将有序字典的keys(键)转换成列表new_lst,最后打印new_lst的结果。
