集合的方法:
增加:
set.copy() 返回集合的浅拷贝
set.add() 将元素添加到集合中
set.update() 用自己和另一个的并集来更新这个集合
- A= set('boy')
- A.add('python')
- print A #set(['y', 'python', 'b', 'o']) 是把要传入的元素做为一个整个添加到集合中
- A.update('Hello')
- print A #set(['b', 'e', 'python', 'H', 'l', 'o', 'y']) , 传入的元素拆分, 做为个体传入到集合中
- A = {'runoob'}
- A.add('134')
- B=A.copy()
- print A # set(['134', 'runoob'])
- print B # set(['runoob', '134'])
删除:
set.clear() 删除集合中的所有元素
set.discard() 删除集合中的一个元素 (如果元素不存在, 则不执行任何操作)
set.pop() 删除并返回任意的集合元素 (如果集合为空, 会引发 KeyError)
set.remove() 删除集合中的一个元素 (如果元素不存在, 会引发 KeyError)
- A= set('python')
- A.discard('P') # 删除不存在的元素不会报错
- print A
- A.remove('p') # 删除不存在的元素会报错
- print A # set(['h', 'o', 'n', 't', 'y'])
- print A.pop() #h, 删除并返回任意的集合元素
- print A #set(['o', 'n', 't', 'y'])
- A.clear()
- print A #set([])
更新:
set.difference_update()
set.intersection_update() 用自己和另一个的交集来更新这个集合
set.symmetric_difference_update() 用自己和另一个的对称差来更新这个集合
- A = set('abcd')
- B = set('cdef')
- A.intersection_update(B) # 返回 None, 用结果更新 A
- print A #set(['c', 'd'])
- A = set('abcd')
- B = set('cdef')
- A.difference_update(B) # 返回 None, 用结果更新 A
- print A #set(['a', 'b'])
- A = set('abcd')
- B = set('cdef')
- A.symmetric_difference_update(B) # 返回 None, 用结果更新 A
- print A #set(['a', 'b', 'e', 'f'])
查询:
set.union() 将集合的并集作为一个新集合返回
set.difference() 将两个或多个集合的差集作为一个新集合返回
set.symmetric_difference() 将两个集合的对称差作为一个新集合返回
set.intersection() 将两个集合的交集作为一个新集合返回
set.isdisjoint() 如果两个集合有一个空交集, 返回 True
set.issubset() 如果另一个集合包含这个集合, 返回 True
set.issuperset() 如果这个集合包含另一个集合, 返回 True
- A = set('abcd')
- B = set('cdef')
- C = set('ab')
- D = set('xyz')
- print C < A , C.issubset(A) # 判断 C 是否是 A 的子集
- print A > C , A.issuperset(C) # 判断 A 是否是 C 的超集
- print A.isdisjoint(B),A.isdisjoint(D) # 判断两个集合是否不相交
- print A | B, A.union(B) # 判断 A 和 B 的并集, 合并 A 和 B
- print A & B, A.intersection(B) # 判断 A 和 B 的交集, set(['c', 'd']) 只获取 A 和 B 中相同的部分
- print A - B , A.difference(B) # 求 A 和 B 的差集, set(['a', 'b']) , 只获取 A 中不同的部分
- print A ^ B , A.symmetric_difference(B) #A 和 B 的对称差集 set(['a', 'b', 'e', 'f']) , 只获取两个集合不同的部分
来源: http://www.bubuko.com/infodetail-2534961.html