python集合操作
集合相关操作简单些,没有列表那么多操作,下面让我们一起学习下吧。
1、创建集合
创建集合有多种方式,如下代码创建的都是相同的集合:
a = {1,2,3}
b = set([1,2,3])
c = set({1,2,3})
d = set((1,2,3))
e = set({1:None,2:None,3:None})
f = set(i for i in range(1,4))
g = {i for i in range(1,4)}
print(a,b,c,d,e,f,g)
2、添加元素
用add方法添加元素,如果添加的元素已在集合中则不会再次添加,如下:
a = {1,2,3}
a.add(4)
# 输出:{1,2,3,4},可能你输出的是其他顺序,没关系的,集合是无序的,所以都一样
print(a)
a.add(4)
# 虽然4已在集合中,但不会重复添加,仍然与上面输出一样
print(a)
3、删除元素
删除元素有多种方式,下面是其中的3种:
# 会修改a
a = {1,2,3}
a.remove(3)
print(a)
# 不会修改a,会创建一个新的集合b
a = {1,2,3}
b = a - {3}
print(b)
# 会修改a
a = {1,2,3}
a.difference_update({3})
print(a)
4、并集运算
集合a与集合b的并集是包含a、b所有元素的集合,可以用以下3种方式得出:
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a | b
print(c)
a = {1,2,3}
b = {3,4,5}
# 修改原有集合a
a.update(b)
print(a)
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a.union(b)
print(c)
5、交集运算
集合a与集合b的交集是包含a、b共同元素的集合,可以用以下3种方式得出:
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a & b
print(c)
a = {1,2,3}
b = {3,4,5}
# 修改原有集合a
a.intersection_update(b)
print(a)
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a.intersection(b)
print(c)
6、差集运算
集合a与集合b的差集是包含a但不包含b元素的集合,可以用以下3种方式得出:
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a - b
print(c)
a = {1,2,3}
b = {3,4,5}
# 修改原有集合a
a.difference_update(b)
print(a)
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a.difference(b)
print(c)
7、对称差集运算
集合a与集合b的对称差集是包含a或包含b但不包含两者相同元素的集合,可以用以下3种方式得出:
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a ^ b
print(c)
a = {1,2,3}
b = {3,4,5}
# 修改原有集合a
a.symmetric_difference_update(b)
print(a)
a = {1,2,3}
b = {3,4,5}
# 创建新的集合c
c = a.symmetric_difference(b)
print(c)
8、子集与超集判断
如果判断集合a是否是集合b的子集,可以调用issubset方法,如果判断集合a是否是集合b的超集,可以调用issuperset方法,如下代码:
a = {1,2,3}
b = {2,3}
print(b.issubset(a))
print(a.issuperset(b))