Python 集合set(),,创建# 创建空集合s


创建

# 创建空集合set()
# 创建集合,参数必须为 iterable
set(it)set(dict) # 只取dict.keys()作为集合的元素

特性

# 集合特性:无序序列# 集合特性:可变# 集合特性:去重ls = [1, 2, 1]s = set(ls)print(s)  # return {1, 2}

 内置函数

  添加

a = set(‘one‘)
# 方法1:将参数作为整体的元素加入a.add(‘two‘)
# 方法2:将参数分解成多个元素加入a.update(‘three‘)

  删除

a = set([1, 2])# 删除,参数为 elementa.remove(2)   # 存在则删除a.remove(3)   # 不存在则报错:keyError# 删除,参数为 elementa.discard(2)  # 存在则删除a.discard(3)  # 不存则什么都不做
# 删除并返回值a.pop() # 随机删取

# 删除,清空
a.clear() # set()

  判断子集/父集

a = {1, 2}b = {1, 2, 3}# 判断 a 是否为 b 的子集
a < ba.issubset(b)# 判断 a 是否为 b 的父集
a > ba.issupset(b)

# 其他:<=、>=、!=、==

  交集/并集/差集/对称差集

# 交集:两个集合重合的部分a & ba.intersection(b)
a.intersection_update(b) # 返回两个集合的交集,替换集合 aa.isdisjoint(b) # 两个集合是否存在空交集,存在则返回True# 并集:两个集合所有元素的集合a | ba.union(b) # 差集:前集合与后集合相比,在前集合中而不在后集合中的部分a - b a.difference(b)# 对称差集:两个集合不重复的部分a.symmeric_difference(b)
a.symmeric_difference_update(b) # 返回两个集合的对称差集,替换集合 a

 

扩展:

  不可变的集合:frozenset

  

Python 集合set()

评论关闭