Python之集合(set)

来源:互联网 发布:天音淘宝复制大师3.03 编辑:程序博客网 时间:2024/04/29 19:56

一种语言它越便捷,开发效率越高,初学阶段就会越困难。因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子。所以,对初学Python来说,记忆的东西很多。


进入正题。


集合就像是抛弃了值(value)的字典,也就是说:

集合(set)里面只有键,而且每个键都是独一无二的,不会有重复。并且集合也是无序 的。集合的使用意义在与:把所有的元素放在集合里面,然后测试某个成员是否存在集合里。

创建集合。

st=set( )    #创建一个空集合。注意,虽然集合也是用{ },但是写成 st={ }  ,st是一个空字典,而不是集合。


st={1,2,3,4,5,5}   #创建并初始化集合。集合不会出现重复值,所以这个集合最终是st={1,2,3,4,5},重复的5被忽略。

st=set('12345')  #使用内建函数set()转化参数为集合,st={'1','2','3','4','5'}

st=set(['A','B','C']) #同理


特殊:将字典转化为集合

d={'Mark': 19, 'Jerry': 18}

st=set(d)

st={'Mark', 'Jerry'}  #集合只取原字典的建作为其元素的值。


集合的操作接口

len(st)               #得到集合元素个数

if ‘1’ in st:     # in  存在操作


for item in st:     #迭代


st.add( '6' )         将字符串6添加到集合st

st.update(['A','B','C'])   添加多项.


st.pop( )            #随机删除集合里的一个元素,并返回其值

st.discard('A' )  #删除集合元素'A' ,若‘A’不在集合st里,什么也不会发生

st.remove('B')   #删除指定值'B'


st.clear( )           #清空集合

st.copy( )           #返回集合 的浅拷贝


2个集合的操作

st1={1,2,3}

st2={3,4,5}



t=st1 & st2      #交集,t={3}          也可用方法:st1.intersection(st2)


t=st1 |  st2        #并集  t={1,2,3,4,5}    也可方法:st1.union(st2)


t=st1 - st2       #差集  ,在st1中,但不在st2中 ,t={1,2}     方法:st1.difference(st2)


t=st1 ^ st2       #对称差 只在一个集合中存在的元素的再集合,3既存在st1,又在st2中,t={1,2,4,5}

                         




st1<=st2        #st1含于st2吗?返回True    or   False    方法:st1.issubset(st2)

st1>=st2        #st1包含st2吗?返回True    or   False     方法:  st1.issuperset(st2)









0 0
原创粉丝点击