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

列表去重函数(set)

发布时间:2023-06-01 18:29:13

在Python中,列表是一种可以存储任意数量的元素的数据类型。但是,在某些情况下,我们可能需要对列表进行去重,以便在不重复地处理数据时更容易使用。为此,Python中提供了一个内置的函数set(),可以方便地将一个列表中的所有重复元素删去,并返回一个新的、不含重复元素的列表。

set()函数可用于任何可迭代的对象,包括列表、元组和字符串。这个函数在工作时会自动忽略重复元素,只包含最后出现的那个元素。

下面我们来看一下set()函数的使用方法。

首先,我们定义一个包含重复元素的列表:

lst = [1, 2, 3, 3, 4, 5, 5, 6]

如上所示,这个列表包含重复元素3、5。

接着,我们使用set()函数对这个列表进行去重:

set_lst = set(lst)

这将返回一个集合,其中保存了不重复的元素。对于上述列表,执行set()函数之后返回的集合如下:

{1, 2, 3, 4, 5, 6}

我们可以看到,列表中的重复元素已经被去掉了,只留下了不重复的元素。

如果我们希望把去重之后的结果转换回列表形式,只需要使用list()函数即可:

new_lst = list(set_lst)

这样就可以将去重之后的集合转换回列表形式了。

除了去重之外,set()函数还有其他一些有用的特性。

例如,我们可以使用集合的交、并、差等操作符,对集合进行基本的集合运算。

交:&

并:|

差:-

异或:^

下面我们来看一些示例。

交集运算

集合的交集运算指的是找出两个集合中共有的元素。例如,我们有两个集合A和B:

A = {1, 2, 3, 4}

B = {3, 4, 5, 6}

那么,它们的交集运算结果为:

A & B

{3, 4}

可以看到,交集运算结果是一个集合,其中包含了A和B中都有的元素3和4。

并集运算

集合的并集运算指的是找出两个集合中所有的元素。例如,我们有两个集合A和B:

A = {1, 2, 3, 4}

B = {3, 4, 5, 6}

那么,它们的并集运算结果为:

A | B

{1, 2, 3, 4, 5, 6}

可以看到,并集运算结果是一个集合,包含了A和B中的所有元素。

差集运算

集合的差集运算指的是找出一个集合中有,而另一个集合中没有的元素。例如,我们有两个集合A和B:

A = {1, 2, 3, 4}

B = {3, 4, 5, 6}

那么,A对B的差集运算结果为:

A - B

{1, 2}

可以看到,差集运算结果是一个集合,其中包含了A中有但B中没有的元素。

异或运算(对称差集)

集合的异或运算指的是找出一个集合中有,而另一个集合中没有的元素,但不包括两个集合中都有的元素。例如,我们有两个集合A和B:

A = {1, 2, 3, 4}

B = {3, 4, 5, 6}

那么,A和B的异或运算结果为:

A ^ B

{1, 2, 5, 6}

可以看到,异或运算结果是一个集合,其中包含了A或B中有但不是同时存在于A和B中的元素。

总结

set()函数可以对列表进行去重,可以使用集合的交、并、差等操作符进行基本的集合运算。这些集合运算符虽然并不是很常用,但在处理有些问题时还是可以派上用场的。