Python3 集合学习笔记
什么是集合?
在 Python 中,集合(Set)是一个无序的不重复元素序列。集合的基本作用是进行成员关系测试和消除重复元素。
创建集合
创建一个集合需要使用 set() 函数或使用大括号 {} 把一组元素括起来,注意:可以将列表或元组转换为集合:
Copy Code# 使用 set() 函数创建集合
set1 = set()
print(set1)
# 使用大括号 {} 创建集合
set2 = {"apple", "banana", "cherry"}
print(set2)
# 将列表转换为集合
list1 = [1, 2, 3]
set3 = set(list1)
print(set3)
# 将元组转换为集合
tuple1 = (4, 5, 6)
set4 = set(tuple1)
print(set4)
输出结果:
Copy Codeset()
{'banana', 'cherry', 'apple'}
{1, 2, 3}
{4, 5, 6}
访问集合中的元素
由于集合是无序的,因此不能通过索引访问集合中的元素。但是可以使用 for 循环或 in 关键字来遍历集合中的所有元素:
Copy Codeset1 = {"a", "b", "c"}
# 遍历集合中的所有元素
for x in set1:
print(x)
# 判断元素是否存在于集合中
if "a" in set1:
print("a 存在于集合中。")
else:
print("a 不存在于集合中。")
输出结果:
Copy Codea
b
c
a 存在于集合中。
集合的运算
集合支持多种运算,包括并集、交集、差集和对称差集。
并集
两个集合的并集是包含两个集合中所有元素的新集合,可以使用 | 运算符或 union() 方法实现:
Copy Codeset1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用 | 运算符计算两个集合的并集
set3 = set1 | set2
print(set3)
# 使用 union() 方法计算两个集合的并集
set4 = set1.union(set2)
print(set4)
输出结果:
Copy Code{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
交集
两个集合的交集是包含两个集合中共有元素的新集合,可以使用 & 运算符或 intersection() 方法实现:
Copy Codeset1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用 & 运算符计算两个集合的交集
set3 = set1 & set2
print(set3)
# 使用 intersection() 方法计算两个集合的交集
set4 = set1.intersection(set2)
print(set4)
输出结果:
Copy Code{3}
{3}
差集
两个集合的差集是包含属于第一个集合但不属于第二个集合的元素的新集合,可以使用 - 运算符或 difference() 方法实现:
Copy Codeset1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用 - 运算符计算两个集合的差集
set3 = set1 - set2
print(set3)
# 使用 difference() 方法计算两个集合的差集
set4 = set1.difference(set2)
print(set4)
输出结果:
Copy Code{1, 2}
{1, 2}
对称差集
两个集合的对称差集是包含属于其中一个集合但不属于另一个集合的元素的新集合,可以使用 ^ 运算符或 symmetric_difference() 方法实现:
Copy Codeset1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用 ^ 运算符计算两个集合的对称差集
set3 = set1 ^ set2
print(set3)
# 使用 symmetric_difference() 方法计算两个集合的对称差集
set4 = set1.symmetric_difference(set2)
print(set4)
输出结果:
Copy Code{1, 2, 4, 5}
{1, 2, 4, 5}
更新集合
向集合中添加元素可以使用 add() 方法或 update() 方法:
Copy Codeset1 = {1, 2, 3}
# 使用 add() 方法向集合中添加单个元素
set1.add(4)
print(set1)
# 使用 update() 方法向集合中添加多个元素
set1.update([5, 6])
print(set1)
输出结果:
Copy Code{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6}
删除集合中的元素
可以使用 remove() 方法或 discard() 方法从集合中删除元素:
Copy Codeset1 = {1, 2, 3}
# 使用 remove() 方法从集合中删除元素
set1.remove(2)
print(set1)
# 使用 discard() 方法从集合中删除元素
set1.discard(3)
print(set1)
输出结果:
Copy Code{1, 3}
{1}
以上是 Python3 集合学习笔记的内容,希望对你有所帮助。