1. 集合特点:a.不同的元素组成 b.集合是无序的 c.集合中的元素必须是不可变类型(字符串,数字,元组)
2. set() 定义可变集合
s = set('hello') print(s) 输出结果:{'e', 'o', 'l', 'h'}
3. frozenset() 定义不可变的集合
s1 = frozenset('hello') print(s1) 输出结果:frozenset({'l', 'e', 'h', 'o'})
4. add() 往集合中添加元素
s2 = {1, 2, 3} s2.add(4) print(s2) 输出结果:{1, 2, 3, 4}
5. clear()
6. copy()
7. pop() 随机删一个
8. remove() 删除指定的元素,如果删除不存在的元素会报错
9. discard() 删除指定的元素,如果删除不存在的元素不会报错
10. 集合关系运算
a. 交集 intersection()或& b.并集 union()或| c.差集 difference()或- d.交叉补集 symmetric_difference()或^
set_1 = {1, 2, 3} set_2 = {1, 2, 4} print(set_1.intersection(set_2)) print(set_1&set_2) print(set_1.union(set_2)) print(set_1|set_2) print(set_1.difference(set_2)) print(set_1-set_2) print(set_2-set_1) print(set_1.symmetric_difference(set_2)) print(set_1^set_2) 输出结果: {1, 2} {1, 2} {1, 2, 3, 4} {1, 2, 3, 4} {3} {3} {4} {3, 4} {3, 4}
11. isdisjoint() 判断是否有交集 如果没有交集就返回True 如果有交集就返回False
s3 = {1, 2} s4 = {3, 4} print(s3.isdisjoint(s4)) 输出结果:True
12. issubset() 判断是否是子集
s4 = {1, 2} s5 = {1, 2, 3} print(s4.issubset(s5)) 输出结果:True
13. issuperset() 判断是否是父集
s4 = {1, 2} s5 = {1, 2, 3} print(s5.issuperset(s4)) 输出结果:True
14. update() 更新集合
s6 = {1, 2} s6.update({1, 5}) print(s6) 输出结果:{1, 2, 5}