集合的基本特点
- 集合由不同元素组成
- 集合是无序的
- 集合中的元素必须是不可变的
集合的基本操作
- 向集合中添加元素的方法
s1 = {1,2,4,6}
s1.add(3)
print(s1)
- 清空集合中元素
s1 = {1,2,4,6}
s1.clear()
print(s1)
- 删除元素
s1 = {1,2,4,6}
#随机删除元素
s1.pop()
print(s1)
#指定元素并且删除
s1.remove(4)
print(s1)
集合关系的运算交,差,并集
- 求集合的交集
s1 = {1,2,4,6}
s2 = {2,3,4,5}
print(s1.intersection(s2)) #求交集的第一种方法
print(s1&s2) #求交集的第二种方法
- 求集合的交集
s1 = {1,2,4,6}
s2 = {2,3,4,5}
print(s1.union(s2)) #求并集的第一种方法
print(s1|s2) #求并集的第二种方法
- 求集合的差集
s1 = {1,2,4,6}
s2 = {2,3,4,5}
#求差集的第一种方法
print(s1-s2) #注:求s1与s2相异的的元素
print(s2-s1)
#求差集的第二种方法
print(s1.difference(s2))
print(s2.difference(s1))
- 交叉补集
s1 = {1,2,4,6}
s2 = {2,3,4,5}
#交叉补集:先将两个集合合并,再去除两个集合中共有的元素,相当于交集的补集
print(s1.symmetric_difference(s2)) #第一种方式
print(s1^s2) #第二种方式
- difference_update()方法
#方法一
s1 = {1,2,4,6}
s2 = {2,3,4,5}
s1 = s1-s2
print(s1)
方法二
s1 = {1,2,4,6}
s2 = {2,3,4,5}
s1.difference_update(s2)
print(s1)
#注:方法一和方法二是等价的
诸如intersection_update()和union_update()都是原理相同的的
- isdisjointt()方法:若两个集合有交集返回true,若无交集则返回false
- issubset()方法
s1 = {1,2,4,6}
s2 = {2,3,4,5}
s3 = s1.issubset(s2) #若s1是s2的子集,返回true,否则返回false
print(s3)