本节内容
1、集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
创建集合:集合的函数是set()
s1 = {1,2,3,5,6,8,"zhangsan","lisi"}
s2 = {2,4,6,8,9,10,"zhangsan","wangwu"}
s = set([3,5,7,9,3,7,10,12])
s4 = set([3,5,7,9])
s3 = set("hello")
增加:
s.add("hello") 会把hello当做一个元素增加到s中
s.add(11)
s.update("e")
s.update(“hello”) 会把hello拆开增加到s中
增加一项 add 或update
s.update(["hello",7,9,10]) 当是个列表时会把hello当做一个元素增加到s中
s.update((11,12,13))
s.update(s1) 把s2中的元素增加到s中
在s中增加多个只能用update
删除:
s.pop() 随机删除,不需要参数
s.remove(5) 指定删除 当指定的元素不存在时会报错,不指定元素也会报错
s.discard("w") 当指定的元素不存在时不会报错,当指定的元素存在时会删除。它不返回任何值
len()
取长度
关系运算
交集:就是两个集合共同的元素
s1&s2 对应的内置方法s1.intersection(s2)
打印的结果:{8, 2, ‘zhangsan‘, 6}
s1.intersection_update(s2) 去完交集后再重新赋值给s1
并集:就是把两个集合合并然后在去重
s1|s2 方法:s1.union(s2) 可以和多个集合操作s1.union(s2).union(s) s1|s2|s
差集:是相对的是某个集合对另一个集合的,是存在一个集合不存在另一个集合的
s1 - s2 方法:s1.difference(s2) s1.difference_update(s2) 相当于 s1 = s1-s2 s1会变成他俩的差集
s2 - s1 方法:s2.difference(s1)
对称差集:去掉两集合的共同的部分,剩下的两集合的所有元素
s1^s2 方法:s1.symmetric_difference(s2)
s1.symmetric_difference_update(s2) 做完对称后重新赋值给s1
子集:
s4<=s 方法:s4.issubset(s)判断s4是不是s的子集,也就是判断s4中的所有元素都有没有在s中
是则打印时返回True ,否则返回False
父集:
s>=s4 方法:s.issuperset(s4) 判断s是不是s4的父集,也就是判断s中的元素是否都包含s4中的元素
是返回True,否则 False