📅  最后修改于: 2023-12-03 15:34:32.748000             🧑  作者: Mango
Python中的集合(set)是一种无序、不重复的数据类型,它支持一些常用的方法操作。本文将介绍Python中集合的常用方法。
可以使用大括号 {}
或者 set()
函数来创建一个空集合,也可以在大括号中添加元素来创建一个非空集合。
# 创建空集合
empty_set = set()
empty_set_2 = {}
# 创建非空集合
s1 = {1, 2, 3}
s2 = set([3, 4, 5])
s3 = set((4, 5, 6))
集合支持添加元素的操作,可以使用 add()
方法实现添加一个元素,如果添加的元素已存在于集合中则不会进行添加。
s = {1, 2, 3}
s.add(4)
s.add(3) # 不会添加
print(s) # {1, 2, 3, 4}
可以使用 update()
方法来添加多个元素,它可以接受一个列表或者其他集合作为参数。
s = {1, 2, 3}
s.update([3, 4, 5])
s.update((6, 7, 8))
print(s) # {1, 2, 3, 4, 5, 6, 7, 8}
可以使用 remove()
或者 discard()
方法来删除元素。
s = {1, 2, 3}
s.remove(2)
s.discard(3)
s.discard(4) # 不会出错
print(s) # {1}
集合支持一些常见的集合操作符,如并集、交集、差集、对称差集等,也支持相应的方法操作。
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 | s2) # {1, 2, 3, 4},并集
print(s1.union(s2)) # {1, 2, 3, 4},并集
print(s1 & s2) # {2, 3},交集
print(s1.intersection(s2)) # {2, 3},交集
print(s1 - s2) # {1},差集
print(s1.difference(s2)) # {1},差集
print(s1 ^ s2) # {1, 4},对称差集
print(s1.symmetric_difference(s2)) # {1, 4},对称差集
集合的子集和超集关系可以使用 <
和 >
运算符或者相应的方法来判断。
s1 = set([1, 2])
s2 = set([1, 2, 3])
print(s1 < s2) # True,s1 是 s2 的子集
print(s1.issubset(s2)) # True,s1 是 s2 的子集
print(s2 > s1) # True,s2 是 s1 的超集
print(s2.issuperset(s1)) # True,s2 是 s1 的超集
使用 copy()
方法可以拷贝一个集合,改变原始集合不影响拷贝出来的集合。
s1 = set([1, 2])
s2 = s1.copy()
s1.add(3)
print(s1) # {1, 2, 3}
print(s2) # {1, 2},s2 不受 s1 的影响
可以使用 clear()
方法清空一个集合。
s = set([1, 2])
s.clear()
print(s) # set()
本文介绍了Python中常用的集合方法,包括创建集合、添加和删除元素、集合操作、子集和超集、集合拷贝以及清空集合等操作。集合是处理一些无序、不重复的数据时非常方便的一种数据类型,它的灵活性可以满足许多实际应用场景。