一、什么是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集合在使用中可以帮助我们快速处理数据集合,避免了重复元素出现的问题,方便了数据的处理工作。