集合的作用
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值