集合對象set及其操作

#-*-coding:utf-8-*-
'''
Created on 2016年3月21日

@author: Zroad
'''

"""
一、集合對象的特點:
1、集合的元素是唯一的
2、元素是不可變對象
3、集合是無序的
"""

"""
二、集合對象的創建:
向內置的set函數傳遞一個序列或是可迭代對象
"""
x = set('babce') #x= set(['a', 'c', 'b', 'e'])
y = set(['b','d','x','y']) #y= set(['y', 'x', 'b', 'd'])
print "x=",x
print "y=",y

"""
三、集合的基本操作
"""
#1、判斷元素是否屬於集合
print 'e' in x #True
print '1' in x #False

#2、求集合x交集外的部分
print x - y  #set(['a', 'c', 'e'])

#3、求集合的並集
print x | y  #set(['a', 'c', 'b', 'e', 'd', 'y', 'x'])

#4、求集合的交集
print x & y  #set(['b'])

#5、求兩集合交集的補集
print x ^ y  #set(['a', 'c', 'e', 'd', 'y', 'x'])

#6、全集與子集
p = set([1,2,3])
q = set([1,2])
print p > q #True
print q < p #True

r = set([1,2,4])
print p > r #False
print q > r #False
print q < r #True

#表達式是隻支持同時爲集合的操作,下面的表達式會報錯
#p | [1,2,3] 

"""
四、集合的常用操作方法
"""
#1、求交接
z = x.intersection(y)  #x&y,求交集
print z #set(['b'])

#2、增加集合元素
z.add('0') #增加集合元素
z.add('Hello,python!')  
print z  #set(['0', 'Hello,python!', 'b'])

#3、集合求並集
z.update(set(['X','Y']))
print z #set(['Y', '0', 'Hello,python!', 'b', 'X'])

#4、刪除單個集合元素
z.remove('X')
print z #set(['Y', '0', 'Hello,python!', 'b'])

#remove方法不支持刪除子集合

#上述方法(交集、並集等)支持可迭代對象
print z.union((0,1,2))

print '------------------'

"""
五、集合是可迭代對象,支持相關迭代操作,不支持分片、索引
"""
print len(z)

for item in z:
    print item
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章