欢迎访问宙启技术站
智能推送

在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的结果。