Python基础,,1.数据类型:# 可


1.数据类型:

# 可变:list ,dict ,set(集合)# 不可变:int bool str tuple

# 有序:list,tuple,str,int,bool# 无序:dict(python3.6以后可以是有序的了),set


# 取值方式:# 索引: str list tuple# 直接: set ,int ,bool# 键:dict

2.深浅拷贝:

import copylst1=[1,2,3]lst2=copy.copy(lst1)#浅拷贝lst3=copy.deepcopy(lst1)#深拷贝lst4=lst1 #赋值

定义:

浅拷贝 :

浅拷贝只拷贝第一层(如果有列表嵌套,他会复制那一个索引位置的列表的内存地址,而那个列表内的数据不会复制,说白了就是共用内部的list,最外层的list是自己新建的)

深拷贝:

可变类型拷贝,不可变类型共用(列表嵌套时,内层的列表地址不会复制,因为list是可变的,他是自己创个内部的list,然后共用list内的不可变元素的地址)

注:

  如果发生了拷贝,内存地址一定发生变化,说白了拷贝就是自己新建地址,放复制过来的内容.

如下图:深浅拷贝如果只拷贝一个单一的列表(列表内不包含字典列表等可变元素)的情况下,深浅拷贝效果都一样:

技术图片

重点(这里要着重理解):

列表内部加了列表后(深浅拷贝就不一样了):

技术图片

Python基础

评论关闭