一种语言它越便捷,开发效率越高,初学阶段就会越困难。因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子。所以,对初学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)