一 深浅拷贝
例:ls = [1, 'abc', [10]]
1.值拷贝:s1 = ls # ls1直接将ls中存放的地址拿过来,》ls内部的值发生任何变化,ls1都会随之变化。
2.浅拷贝:ls2 = ls.copy() # ls内部的可变类型值发生改变,ls2会随之变化3.
3.深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表中的不可变类型的地址直接拿过来,但是可变类型的地址一定重新开辟空间, ls内部的所有类型的值发生改变,ls3都不会随之变化
二 元组类型
1.定义:元组:可以理解为不可变的列表。
注意:值可以为任意类型
2.常用操作
1.索引取值:正反方向
2.运算(拼接):元组相加
3.长度:len()
4.切片:正反方向
5.成员运算:in |not in
注意:False == 0, 元组中如果有0或False,该结果都是True
6.for 循环
7.例:
print(t1.count(0)) # 对象0在元组中出现的次数
print(t1.index(123, 4, len(t1))) # 对象0在区间4~末尾第一次出现的索引
三 字典
1.用map映射创建字典
2.用关键字赋值方式
3.字典的操作:
1.增: 字典名[key] = 值 => key已存在就是修改值,不存在就是新增值
2.改
3.查:字典名[key]#只能查找已有的key,没有崩溃
4.删
5.清空
四 集合
1.空集合:不能用{},因为用来标示空字典
例:
s = set()
print(s, type(s))
2.概念:
#1.set为可变类型 - 可增可删
# 2.set为去重存储 - set中不能存放重复数据
# 3.set为无序存储 - 不能索引取值
# 4.set为单列容器 - 没有取值的key
# 总结:set不能取值
3.增:
4. 删
5 set运算:
1.交集:两个都有 &
2.合集:两个的合体 |
3.对称交集:抛出共有的办法的合体 ^
4.差集:独有的
5. 比较:前提一定是包含关系