python渐进---set集合

原载于https://mp.weixin.qq.com/s/SWfDYjsG_x9lJNMZ4IFo1A



6.4 set

set是集合类型,set存储的数据是不可重复的。相同的元素,在set里面只能够有一个。比如说[1,1,2,3]这个序列,存到set类型,就会变成[1,2,3]。


6.4.1 set的建立

用set()构造函数,可以把一个list或者tuple转化为set

 
 
 
 

>>> s=set([1,1,2,3])

 
 

>>> s

 
 

set([1, 2, 3])

 
 

>>> s2=set((4,4,5,5))

 
 

>>> s2

 
 

set([4, 5])

同样的,也可以通过set()先建立一个空的集合,以后再进行添加。

 
 
 
 

>>> s=set()

 
 

>>> s

 
 

set([])

6.4.2 set元素的添加和删除

使用add和remove可以往集合里面添加和删除数据

 
 
 
 

>>> s=set([1,1,2,3])

 
 

>>> s.add(4)

 
 

>>> s

 
 

set([1, 2, 3, 4])

 
 

>>> s.remove(1)

 
 

>>> s

 
 

set([2, 3, 4])

6.4.3 set常用的操作

使用in判断一个数据是否在集合里面

 
 
 
 

>>> 5 in s

 
 

False


set类型支持求并集,交集,差集,对称差集等

并集,并集的操作符为|。

 
 
 
 

>>> a=set([1,3,5,7])

 
 

>>> b=set([1,2,4,6])

 
 

>>> a|b

 
 

set([1, 2, 3, 4, 5, 6, 7])

交集,交集的操作符为&。

 
 
 
 

>>> a&b

 
 

set([1])


差集,在a中但不在b中,在b中但不在a中的差集。差集的操作符为-

 
 
 
 

>>> a-b

 
 

set([3, 5, 7])

 
 

>>> b-a

 
 

set([2, 4, 6])

对称差集,a和b的并集减去a和b的交集。对称差集的操作符为^。

 
 
 
 

>>> a^b

 
 

set([2, 3, 4, 5, 6, 7])


支持对子集和超集的判断。判断超集和子集的操作符为>,<。

 
 
 
 

>>> z=set([2,3])

 
 

>>> s=set([5,4,3,2])

 
 

>>> z<s

 
 

True

 
 

>>> s>z

 
 

True

集合也可以用len()来判断长度。

 
 
 
 

>>> s=set([1,2,3])

 
 

>>> len(s)

 
 

3

6.4.4 set的集合推导式

set也可以使用集合推导式,set的集合推导式也是用大括号括起来的。和字典一样,但是元素不能是key:value形式的。这里也不累叙了。

 
 
 
 

>>> s={x for x in range(10) if x%2==0}

 
 

>>> s

 
 

set([0, 8, 2, 4, 6])


本文完




猜你喜欢

转载自blog.csdn.net/weixin_42407546/article/details/80912894
今日推荐