一 集合基本介绍
集合:在{}内用逗号隔开每个值,集合的特点:
- 每个值必须是不可变类型
- 集合是无序的
- 集合的值不能重复
集合的应用场景较少,最重要的应用场景为进行关系运算以及去重。
二 集合的操作
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可变