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