900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python深浅复制_python3 深浅拷贝(复制)

python深浅复制_python3 深浅拷贝(复制)

时间:2018-08-22 09:15:45

相关推荐

python深浅复制_python3 深浅拷贝(复制)

python3 list深浅拷贝

下面代码示例不是拷贝:

a = [1, 2, 3, 4, 5]

b = a

print(id(a))

print(id(b))

print(id(a[0]))

print(id(b[0]))

>>>3159527737608

>>>3159527737608

>>>1839268304

>>>1839268304

内存管理图

1.png

list浅拷贝三种方法:

1、list的切片

a = [[1, 2], 3, 4, 5]

b = a[:]

print(b) # [[1, 2], 3, 4, 5]

2、导入copy模块

import copy

a = [[1, 2], 3, 4, 5]

b = copy.copy(a)

print(b) # [[1, 2], 3, 4, 5]

3、list的copy()方法

a = [[1, 2], 3, 4, 5]

b = a.copy()

print(id(a)) # 1811054808264

print(id(b)) # 1811054808200

print(id(a[0])) # 1839268304

print(id(b[0])) # 1839268304

b[1] = 1111

print(a) # [[1, 2], 3, 4, 5]

print(b) # [[1, 2], 1111,4, 5]

b[0][0] = 1111

print(a) # [[1111, 2], 3, 4, 5]

print(b) # [[1111, 2], 3, 4, 5]

2.png

深复制

import copy

a = [[1, 2], 3, 4, 5]

b = copy.deepcopy(a)

a[0][0] = 111

b[1] = 22

print(a) # [[111, 2], 3, 4, 5]

print(b) # [[1, 2], 22, 4, 5]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。