标签:Python 集合
集合的方法:
增加:
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']) ,只获取两个集合不同的部分
标签:Python 集合
原文地址:http://blog.51cto.com/395469372/2089674