Python3 Set详解

发布时间:2023-05-21

一、什么是Python3 Set

在Python3中,Set(集合)是一种无序、不重复元素的集合。它类似于列表List和元组Tuple,但是Set不支持索引和切片操作,而且Set的元素是不可重复的。通过使用set()函数或者花括号{}来定义一个set。例如:

set1 = set() # 空集合
set2 = {1, 2, 3, 4, 5} # 有元素的集合
set3 = set('hello') # 可以通过一个字符串来创建一个集合

二、Python3 Set的操作方法

1. 添加元素

可以使用add()方法向Set中添加单个元素,也可以使用update()方法向Set中添加多个元素。例如:

set1 = set()
set1.add(1)
set1.add(2)
set1.add(3)
print(set1) # 输出结果:{1, 2, 3}
set2 = {1, 2, 3}
set2.update([4, 5, 6])
print(set2) # 输出结果:{1, 2, 3, 4, 5, 6}

2. 删除元素

可以使用remove()方法删除集合中的某个元素,如果删除某个不存在的元素会报错;可以使用discard()方法删除集合中的某个元素,如果删除的元素不存在也不会出现错误;可以使用pop()方法随机删除集合中的某个元素。

set1 = {1, 2, 3, 4, 5}
set1.remove(4) # 删除元素4
print(set1) # 输出结果:{1, 2, 3, 5}
set2 = {1, 2, 3, 4, 5}
set2.discard(4) # 删除元素4
print(set2) # 输出结果:{1, 2, 3, 5}
set3 = {1, 2, 3, 4, 5}
set3.pop() # 随机删除一个元素
print(set3) # 输出结果:{2, 3, 4, 5}

3. 集合运算

Python Set支持集合运算,例如交集(&)、并集(|)、差集(-)、对称差集(^)。

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # 求交集,输出结果:{3}
print(set1 | set2) # 求并集,输出结果:{1, 2, 3, 4, 5}
print(set1 - set2) # 求差集,输出结果:{1, 2}
print(set1 ^ set2) # 求对称差集,输出结果:{1, 2, 4, 5}

4. 判断元素是否在集合中

可以使用in关键字判断某个元素是否在集合中,也可以使用not in关键字判断某个元素是否不在集合中。

set1 = {1, 2, 3}
print(1 in set1) # 输出True
print(4 not in set1) # 输出True

三、Python3 Set与List、Tuple的区别

Python List和Tuple是有序的序列,可以通过索引来访问其中的元素,而Set是无序的,不能通过索引来访问其中的元素。Python List和Tuple中元素可以重复,而Set中的元素是不可重复的。

四、Python3 Set小结

通过本文的讲解,我们了解到Python3中的Set集合,包括Set的定义、操作方法、集合运算及与List、Tuple的区别等方面。Set集合在使用中可以帮助我们快速处理数据集合,避免了重复元素出现的问题,方便了数据的处理工作。