集合的方法:
增加:
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://blog.51cto.com/395469372/2089674