Python set(集合)是一个无序且不包含重复元素的数据结构。以下是一些常用的set操作方法:
创建集合:可以使用花括号 {}
或者 set()
函数来创建一个集合。
s1 = {1, 2, 3}
s2 = set([1, 2, 3])
添加元素:使用 add()
方法向集合中添加一个元素。
s = {1, 2, 3}
s.add(4)
删除元素:使用 remove()
或 discard()
方法从集合中删除一个元素。remove()
方法在元素不存在时会抛出异常,而 discard()
方法则不会。
s = {1, 2, 3}
s.remove(4) # 抛出异常:KeyError
s.discard(4) # 无异常
检查元素是否存在:使用 in
或 not in
关键字检查一个元素是否存在于集合中。
s = {1, 2, 3}
print(4 in s) # 输出 False
遍历集合:可以使用 for
循环遍历集合中的元素。
s = {1, 2, 3}
for item in s:
print(item)
计算集合长度:使用内置函数 len()
计算集合中元素的个数。
s = {1, 2, 3}
print(len(s)) # 输出 3
集合运算:
并集:使用 union()
方法或 |
运算符计算两个集合的并集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2)) # 输出 {1, 2, 3, 4, 5}
print(s1 | s2) # 输出 {1, 2, 3, 4, 5}
交集:使用 intersection()
方法或 &
运算符计算两个集合的交集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.intersection(s2)) # 输出 {3}
print(s1 & s2) # 输出 {3}
差集:使用 difference()
方法或 -
运算符计算两个集合的差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.difference(s2)) # 输出 {1, 2}
print(s1 - s2) # 输出 {1, 2}
对称差集:使用 symmetric_difference()
方法或 ^
运算符计算两个集合的对称差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.symmetric_difference(s2)) # 输出 {1, 2, 4, 5}
print(s1 ^ s2) # 输出 {1, 2, 4, 5}
更新集合:使用 update()
方法或 |=
运算符将另一个集合中的元素添加到当前集合中。
s = {1, 2, 3}
s.update({4, 5})
print(s) # 输出 {1, 2, 3, 4, 5}
s |= {6, 7}
print(s) # 输出 {1, 2, 3, 4, 5, 6, 7}