一 集合基本介绍
集合:在{}内用逗号隔开每个值,集合的特点:
- 每个值必须是不可变类型
- 集合是无序的
- 集合的值不能重复
集合的应用场景较少,最重要的应用场景为进行关系运算以及去重。
二 集合的操作
1 求两个集合的交集
set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'}print(set1 & set2) # 输出结果为 (4,'c','d')
2 求两个集合的并集
set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'}print(set1 | set2) # 输出结果为 (1,2,3,4,5,6,7,'a','b','c','d','e','f')
3 求两个集合的差集
set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'} print(set1 - set2) # 输出结果为 {1, 2, 3, 'b', 'a'}
4 求两个集合的对称差集
set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'} print((set1 - set2) | (set2 - set1)) print(set1 ^ set2) # 输出结果为 {1, 2, 'a', 5, 6, 7, 'f', 3, 'b', 'e'}
5 集合父子集关系:指的是集合包含与被包含关系
s1={1,2,3} s2={1,2} print(s1 >= s2) print(s1.issuperset(s2)) print(s2.issubset(s1)) # 情况一: print(s1 > s2) #>号代表s1是包含s2的,称之为s1为s2的父集 print(s2 < s1) # 情况二: s1={1,2,3} s2={1,2,3} print(s1 == s2) #s1如果等于s2,也可以称为s1是s2的父集合
需要掌握的操作
s1={1,2,3} # s1.update({3,4,5}) # print(s1) # print(s1.pop()) # print(s1) # s1.remove(2) # print(s1) # s1={1,2,3} # print(id(s1)) # s1.add(4) # print(s1) # print(id(s1)) # s1={1,2,3} # s1.discard(4) # s1.remove(4) # print(s1) # s1={1,2,3} # s2={4,5} # print(s1.isdisjoint(s2)) #总结 # 存多个值 # 无序 # set可变