目录
集合的特性
集合是没有重复元素的集合数据类型,可以自动去重
集合是无序的,没有顺序
创建集合
- 可以用 set() 语句创建,其中 set 中的值必须是字符串类型,而且只能有一个参数
- 可以用 { } 的形式创建,单创建时必须有值传入,不然类型默认为字典
- a={1,2,3,4}
- a=set( '1234' )
- a
- { '1' , '2' , '3' , '4' }
添加元素
- set.add(values)
- set.update(values) , 其中values可以是列表、元组、字典等
- 不论添加什么类型在set都会被分解为字符,但 { } 中则不会
删除元素
- set.remove(values) : 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
- set.discard(values) : 将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误
- set.pop() : 随机删除一个元素,并返回被删除的元素值
查找元素
- 由于集合是无序的,所以不能通过下标来查找
判断元素值否在集合中
- in : 若在集合中,返回True,否则,返回False
- not in : 若不在集合中,返回True,否则,返回False
计算集合的元素个数
- len(set) : 返回元素个数
- a=set('123')
- len(a)
- 3
清空集合
- set.clear()
- a=set('123')
- a.clear()
- a
- set()
集合的交、并、补、差运算
- a & b or set.intersection(set2) : 返回a和b中的共同元素
- a | b or set.union(set2):集合a或b中包含的所有元素
- a - b or set.difference(set2): 集合a中包含而集合b中不包含的元素
- a ^ b: 不同时包含于a和b的元素
子集的判断
- set.issubset(set2) : set 是否为 set1 的子集
- set.isupperset(set2) : set2 是否为 set 的子集
判断两个集合是否有相同元素
- set.isdisjoint(set1) : 若有,则返回True,否则,返回False
集合的拷贝
- set.copy() : 返回set的拷贝集合