集合set

集合的作用

1.去重      2.关系测试

1 s=set('yu xing')
2 print(s)
3 
4 s1=['alex','aaa','alex']    #集合可以去重
5 print(set(s1))
6 
7 s=list(set(s1))            #强制转换成列表
8 print(s)
注意:
1.集合里面不能是不可hash的 也就是集合的元素不能是可变类型 比如字典 列表 都不行 元组就可以
2.集合是没有索引的 也没有键 也就是说 它是无序的 要想取值 第一用for循环 第二用迭代器
3.set本身是不可hash的 那么它也不能作为字典的键
4.不可变集合 frozenset() 它不能修改 用的不多

集合的访问

1 print(1 in s)            #判断元素是否在集合里 并且返回true or false
2 print(4 in s)            #false
3 print('xin' in s)       #元素要完全相等才行
4 s.add('uu')             #添加元素
5 print(s)
6 s.update('awsllwsa')    #将里面每一个字添加到集合里面去 重复的不会再添加
7 print(s)
8 s.update([1,2,'awsl'])  #将列表添加到集合里
9 print(s)

集合的删除

1 xi=[1,2,3,'xing']
2 s=set(xi)
3 s.remove(2)         #删除元素
4 print(s)
5 s.pop()             #随机删除一个
6 print(s)
7 s.clear()
8 print(s)            #清空集合

集合的关系

 1 a=set([1,2,3,4,5])
 2 b=set([4,5,6,7,8])
 3 
 4 #intersection  交集
 5 print(a.intersection(b))     #交集{4,5} (a & b)
 6 
 7 #union  并集
 8 print(a.union(b))            #并集{1-8} (a | b)
 9 
10 #difference  差集
11 print(a.difference(b))       #差集in a but not in b (a - b)
12 
13 #symmetric_difference反向交集,对称差集
14 print(a.symmetric_difference(b)) #反向交集   (a ^ b)
15 
16 #issuperset  父集 超集
17 print(a.issuperset(b))      #返回bull值
18 
19 #issubset  子集
20 print(a.issubset(b))        #返回bull值
原文地址:https://www.cnblogs.com/cindy7/p/10927937.html