集合的作用:
去重,关系运算;集合必须死不可变类型(可hash类型)
定义集合:
集合:可以包含多个元素,用逗号分割
集合的元素遵循三个原则:‘
1:每个元素必须是不可变类型(可hash,可作为字典的key) 2:没有重复元素 3:无需排列 注意: 集合的目的是将不同的值存放到一起,不同的集合间用作关系运算,无需纠结集合中的单个值
常用的方法:
pythons=['alex','egon','yuanhao','wupeiqi','gangdan','biubiu'] linuxs=['wupeiqi','oldboy','gangdan'] in 和not in 求二者共同的部分:求即报名python又报名linux的学生 l=[] for item in pythons: if item in linuxs: l.append(item) print(l) 求只报名python,没有报名linux的学生 l=[] for item in pythons: if item not in linuxs: l.append(item) print(l) |并集:老男孩所以报名的学生名字集合 s=pythons | linuxs print(s) print(pythons.union(linuxs)) &交集:求二者共同的部分:求即报名python又报名 s=pythons & linuxs print(s) print(pythons.intersection(linuxs)) print(linuxs.intersection(pythons)) -差集:求只报名python,没有报名linux的学生 print(pythons - linuxs) print(pythons.difference(linuxs)) print(linuxs - pythons) print(linuxs.difference(pythons)) ^对称差集: 没有同时报名python和linux课程的学生名字集合 print(pythons ^ linuxs) print(pythons.symmetric_difference(linuxs)) print(linuxs.symmetric_difference(pythons)) >,>=,<,<= 父集,子集 set1={1,2,3,4,5} set2={1,2,3,4} print(set1 >= set2) print(set1.issuperset(set2)) print(set2 <= set1) print(set2.issubset(set1)) 在集合中添加元素用.add()方法,.pop方法不指定参数,随机删除,并且有返回值 单纯的删除:discard,remove 指定元素删除,元素不存在不报错,单纯的删除,没有返回值 update方法谁调用更新谁的集合