Python基础

HMHYY 2020-04-30

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 copy

lst1=[1,2,3]

lst2=copy.copy(lst1)#浅拷贝

lst3=copy.deepcopy(lst1)#深拷贝

lst4=lst1 #赋值

定义:

浅拷贝 :

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

深拷贝:

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

注:

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

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

Python基础

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

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

Python基础

相关推荐