Python Set 集合

1.集合的创建(去重)

a=set('hello')

print(a)  #{'h','e','l','o'}

如果存在重复的,只保留一个,可以与列表互相转换(仅限于不可变类型)

b=list(a)  #['h','e','l','o']

a=set(b) #{'h','e','l','o'}

#不可互转

c=[[1,2],1,2]

d=set(c) #报错,不可转换由于存在不可变的类型

 

集合是无序的,不重复的,可变的

 

2.访问元素

集合是无序的,不能通过切片和索引来访问集合,只能通过循环遍历或使用in,not in来访问或者判断元素是否在集合里面

2.1判断

s1=set('alvin')

print('a' in s1) # True

print('b' in sa) # False

2.2取值

for i in s1:

   print(i)

3.更改集合

s1=set('alvin')

3.1添加单个元素

s1.add('u')                       #s1={'a','l','v','i','n','u'}

3.2添加多个元素

s1.update('ops')            #s1={'a','l','v','i','n','u','o','p','s'}

如果添加不同类型的,需要放在一个容器中作为一个整体来添加

s1.update([123,'e'])       #s1={'a','l','v','i','n','u','e',123}

4.删除元素

s1.remove('a') 删除元素内容

s1.pop() 随机删除元素

s1.clear() 清空元素 #s1=set{}

del s1 #对象被删除

5.操作符

5.1相等

print(set('hahaha')==set('hahahahhahahaha'))   #True

5.2子集

set('ha')<set('halo') 必须为包含关系且不相等,python中相等不看作包含

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

5.3 交集

a.intersection(b) #{4,5}

a & b

5.4 并集

a.union(b) #{1,2,3,4,5,6,7,8}

a | b

5.5差集

a.difference(b)#{1,2,3}

a - b

5.6对称差集/反向交集

a.symmetric_difference(b) #{1,2,3,6,7,8}

a ^ b

5.7超集

a.issuperset(b)  #False a是否包含b

a.issubset(b) #False  a是否是b的子集

 

posted on 2018-01-10 00:57  可爱的春哥  阅读(228)  评论(0)    收藏  举报

导航