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

2018-09-29 03:59:02来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

集合

集合是一个无序的不重复的数据组合,是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

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:pandas使用

下一篇:Python的22个编程技巧,请收下!