集合是无序组合,它没有索引和位置的概念。
集合有两种,一种是可变类型的set,一种是不可变的frozenset。我们经常遇到就是set集合。
创建集合
- set() 创建空集合
- set(iterable) 利用可迭代对象创建集合
- {1,2,“haha”} 直接用填充值创建,但是{}创建的是空字典,而不是空集合
常用函数
1、add(x)
如果集合s中不存在元素x,则将元素x添加到集合s中。
即使有了这个值也不会把报错,有点类似字典覆盖赋值。
s = {1,2,3}
s.add(4)
2、clear()
删除集合s中所有元素。
3、copy()
返回集合的浅拷贝
4、discard(value)
移除集合s中的value元素。若value元素存在,则移除,不存在也不报错。
5、remove(value)
移除集合s中的value元素。若value元素存在,则移除,不存在则报错(产生KeyError异常)。
6、pop()
随机移除集合s中的一个元素并返回该元素。若集合为空则报错(产生KeyError异常)。
看到这里你会发现,集合的一些方法和字典很相像
7、s.issuperset(b)
判断集合s是不是集合b的父集,也就是集合b是不是集合s的子集(包含真子集的情况)
8、s.issubset(b)
判断集合s是不是集合b的子集。
9、交并补运算
& | 交集 |
---|---|
| | 并集 |
- | 补集(相减) |
s = {1,2,3,"aa"}
b = s.copy()
b.discard("aa")
print("交集",s & b)
print("并集",s | b)
print("补集",s - b)
交集 {1, 2, 3}
并集 {1, 2, 3, 'aa'}
补集 {'aa'}