Python直接赋值,浅拷贝与深度拷贝的解析
本帖最后由 233倔强不秃 于 2020-3-17 14:28 编辑问题来源:
14. 请问以下代码会打印什么内容?
list1 =
list2 =
dict1 = {'1':list1, '2':list2}
dict2 = dict1.copy()
dict1['1'] = 5
result = dict1['1'] + dict2['1']
print(result)
复制代码
A. 5
B. 6
C. 8
D. 10
15. 请问以下代码会打印什么内容?
import copy
list1 =
list2 =
dict1 = {'1':list1, '2':list2}
dict2 = copy.deepcopy(dict1)
dict1['1'] = 5
result = dict1['1'] + dict2['1']
print(result)
复制代码
A. 5
B. 6
C. 8
D. 10
这两道题的答案暂时不放出,先看下面的解析:
用一个例子来说话:
import copy
a = ] #原始对象
b = a #赋值,传对象的引用
c = copy.copy(a) #对象拷贝,浅拷贝
d = copy.deepcopy(a) #对象拷贝,深拷贝
a.append(5) #修改对象a
a.append('c') #修改对象a中的['a', 'b']数组对象
print( 'a = ', a )
print( 'b = ', b )
print( 'c = ', c )
print( 'd = ', d )
详细解析请看链接:
Python直接赋值,浅拷贝与深度拷贝的解析 建议写一行空一行,这样好看一点 一个账号 发表于 2020-3-17 14:24
建议写一行空一行,这样好看一点
好的
页:
[1]