集合
1.不同元素组成
2.无序
3.集合中元素必须是不可变类型
可变类型:列表,字典
不可变类型:数字,字符串,元组
1 s = set('hello') 2 print(s) 3 s1 = set(['abc','asc']) 4 print(s1)
结果 :
{'o', 'e', 'l', 'h'} {'asc', 'abc'}
常用方法:
1 # 1.add添加元素 2 s = {1, 2, 3, 4, 5 , 6, "abc"} 3 s.add('s') 4 s.add('3') 5 print(s) 6 7 # 2.clear清除所有元素,pop 无序删除,remove ,discard指定元素删除 8 s.clear() 9 print(s) 10 s.pop() 11 print(s) 12 # remove删除不存在的元素会报错,discard不会报错 13 s.remove("a") 14 print(s) 15 s.discard("a") 16 print(s) 17 18 # 3.intersection:求交集 19 python = {'abc', 'asd', 'asaa'} 20 linux = {'abc', 'sas','asd'} 21 print(python.intersection(linux)) 22 print(python&linux) 23 24 # 4.union:求并集 25 print(python.union(linux)) 26 print(python|linux) 27 28 # 5.difference:求差集 29 print(python.difference(linux)) 30 print('差集', python-linux) 31 print('差集', linux-python) 32 33 # 6.symmetric_difference:交叉补集 34 print(python.symmetric_difference(linux)) 35 36 # 7.isdisjoint:显示两个集合是否有交集,若无显示True 37 s1 = {1, 2} 38 s2 = {3, 4} 39 print(s1.isdisjoint(s2)) 40 41 # 8.issubset,issuperset:判断一个集合是否为另一个集合的子集,父集 42 s1 = {1, 2} 43 s2 = {1, 2, 3} 44 print(s1.issubset(s2))# s1是s2的子集 45 print(s2.issuperset(s1))# s2是s1的父集 46 # 9.update:更新 47 s1.update(s2) 48 print(s1) 49 50 # 10.frozenset:定义不可变集合 51 s = frozenset('hello') 52 print(s)