从零开始的Python学习Episode 9——集合

集合

集合是一个无序的不重复的数据组合,是python基本的数据类型,把不同的元素组成一起就形成集合。

 

一、创建集合

s = set('smile')
list = ['1','2','3']
print(s) #{'i', 'm', 's', 'e', 'l'}
s1 =set(list)
print(s1) #{'1', '3', '2'}

集合分两种:可变集合、不可变集合

可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素。

不可变集合(frozenset):与上面相反,我们也可以调用frozenset()方法来创建一个不可变集合。

 

二、访问集合

集合是无序的,而且没有键(key),所以不能用索引和键来访问集合中的元素,只能通过遍历来查询集合中的元素 或者 通过in、not in关键字来判断集合中是否存在某元素。

 

三、更新集合

add()方法,添加一个元素

s = set('smile')
s.add('pup')
print(s)#{'i', 'pup', 'l', 'm', 'e', 's'}

update()方法,添加多个元素

s = set('smile')
s.update('pup')
print(s)#{'l', 'i', 'm', 's', 'e', 'p', 'u'}

remove()方法,删除一个特定元素

s = set('smile')
s.remove('m')
print(s)#{'s', 'e', 'l', 'i'}

clear()方法,清空集合

s = set('smile')
s.clear()
print(s)#set()空集合

  

注意:只有可变集合才能更新。

 

四、集合类型操作符

并集:

s = set('smile')
s1 = set('smilepu')
s2 = s1|s
print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}
s2=s1.union(s)
print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}

交集:

s = set('smile')
s1 = set('smilepu')
s2 = s1&s
print(s2)#{'i', 'm', 'l', 's', 'e'}
s2=s1.intersection(s)
print(s2)#{'i', 'm', 'l', 's', 'e'}

差集:

s = set('smile')
s1 = set('smilepu')
s2 = s1-s
print(s2)#{'u', 'p'}
s2=s1.difference(s)
print(s2)#{'u', 'p'}

对称差集(异或):选出不同的元素

s = set('smile')
s1 = set('smilepu')
s2 = s1^s
print(s2)#{'p', 'u'}
s2=s1.symmetric_difference(s)
print(s2)#{'p', 'u'}

子集:用<、issubset()判断是否是子集

s1={1,2,3,4}
s2={3,4,5,6}
s3={2,3,4}
print(s2<s1)#False
print(s3<s1)#True
print(s3.issubset(s1))#True

超集:>、issuperset()

s1={1,2,3,4}
s2={3,4,5,6}
s3={2,3,4}
print(s1>s2)#False
print(s1>s3)#True
print(s1.issuperset(s3))#True

  

posted on 2018-09-27 21:35  微笑小狗  阅读(283)  评论(0编辑  收藏  举报

导航