码迷,mamicode.com
首页 > 编程语言 > 详细

Python集合

时间:2018-03-22 11:26:06      阅读:134      评论:0      收藏:0      [点我收藏+]

标签: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集合

标签:Python 集合

原文地址:http://blog.51cto.com/395469372/2089674

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!