立即学习:https://edu.youkuaiyun.com/course/play/26676/338782?utm_source=blogtoedu
- 集合:可变集合、不可变集合、
- 集合的特点:无序性,互异性,确定性
- 集合:集合里的元素必须是可哈希的,即不可变得,eg:s3={‘python’,【2,3】}就是错误的,因为list列表是可变的
- 可变的有列表字典
- 不可变得有字符串、元组,
- 集合可以增加数也可以删除数,可以使用s.pop和s.remove(要移除的数)和discard的使用和remove的使用方法一样,唯一的区别就在于,discard的括号里面填的是集合中没有的也不会报错,而remove会报错。
- 创建不可变集合eg:f_set=frozenset(‘qiwisr’)不可变集合顾名思义是里面的元素不可变。
- 集合和字典有共同的方法,copy list, dict set 的copy均为浅拷贝。copy得到的两个对象是不是相同的对象,可以根据ID来判断内存地址不一样,也可以使用is来判断,b1isb2相同则返回true不相同则返回false,浅拷贝12:44视屏中有解释。集合里面可能还有容器,而拷贝的只是最外面的一个容器,里面的容器的内存地址还是一样的,所以在改变里面的容器的值得时候,copy出来的两个不同的集合是会同时改变的
- 深拷贝:外层和内层的容器同时拷贝得到一个和原来那个容器互不相干的容器,和浅拷贝不同,
- 集合之间存在运算1.判断a、b集合之间的超级或者子集关系,a.issuperset(b)(a是b的超级吗)b.issubset(a)(b是a的子集)
- 集合的运算:并集a|b(a.union(b))、交集a&b(a.intrsection(b))、差集a-b(a.defference(b))