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

如何使用Python中的set()函数来去重一个列表

发布时间:2023-06-12 19:08:01

在Python语言中,list(列表)是一种非常常用的数据类型,它允许在其中存储有序且可重复的元素。然而,在某些情况下,我们需要从列表中删除重复项,这就需要用到集合(set)。简单来说,set是一种无序不重复元素的集合,它是一种非常有用且高效的数据类型,能够快速去除列表中的重复项。在Python中,我们可以使用set()函数来创建一个空的集合对象,我们也可以将一个列表作为参数传递给set()函数来将列表转换为集合并在其中删除重复项。本文将介绍如何使用set()函数去重Python中的列表。

1.将列表作为参数传递给set()函数

示例代码:

lst = [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 0]
set_lst = set(lst)
print(set_lst)

结果:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

在这个例子中,我们定义了一个包含重复元素的列表lst,然后我们将lst作为参数来调用set()函数,Python会自动将列表中的重复值删除,并将结果赋值给set_lst变量,最后打印输出即可看到结果。

2.添加单个元素到集合中来去重列表

示例代码:

lst = [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 0]
set_lst = set()
for i in lst:
    set_lst.add(i)
print(set_lst)

结果:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

在这个示例中,我们首先创建了一个空的集合set_lst,然后使用for循环遍历原始列表lst中的所有元素,将每个元素添加到set_lst中。由于set集合是自动去重的,所以重复元素会自动被删除。

3.使用列表解析来去重列表

示例代码:

lst = [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 0]
set_lst = {i for i in lst}
print(set_lst)

结果:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

在这种方法中,我们使用了列表解析方式将每个元素添加到集合中。集合的记法看起来像是集合的引用,但是要使用大括号代替方括号。 与列表解析相似,集合解析也是一种简洁的方式,用于快速创建集合。在 Python 中使用{}表示 set,与字典的区别是:字典使用大括号{},而 set 只是用大括号{}创建。

4.使用 sort() 和 set() 来去重

示例代码:

lst = [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 0]
lst.sort()
set_lst = sorted(set(lst))
print(set_lst)

结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

这种方法需要调用Python内置的sort()函数进行原始列表的排序,然后使用set()函数来去除重复项,并将结果转换回列表格式。

总之,正如我们所看到的,Python中的set()函数是一种快速、简单且灵活的方法,可以用来去除列表中的重复项。 通过使用集合,我们可以简单地去除列表中的重复项,并能够更有效地对数据进行处理。因此,set()函数在清理、处理数据时是非常有用的。