|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 233倔强不秃 于 2020-3-17 14:28 编辑
问题来源:
14. 请问以下代码会打印什么内容?
- list1 = [1, 2]
- list2 = [3, 4]
- dict1 = {'1':list1, '2':list2}
- dict2 = dict1.copy()
- dict1['1'][0] = 5
- result = dict1['1'][0] + dict2['1'][0]
- print(result)
- 复制代码
复制代码
A. 5
B. 6
C. 8
D. 10
15. 请问以下代码会打印什么内容?
- import copy
- list1 = [1, 2]
- list2 = [3, 4]
- dict1 = {'1':list1, '2':list2}
- dict2 = copy.deepcopy(dict1)
- dict1['1'][0] = 5
- result = dict1['1'][0] + dict2['1'][0]
- print(result)
- 复制代码
复制代码
A. 5
B. 6
C. 8
D. 10
这两道题的答案暂时不放出,先看下面的解析:
用一个例子来说话:
- import copy
- a = [1, 2, 3, 4, ['a', 'b']] #原始对象
-
- b = a #赋值,传对象的引用
- c = copy.copy(a) #对象拷贝,浅拷贝
- d = copy.deepcopy(a) #对象拷贝,深拷贝
-
- a.append(5) #修改对象a
- a[4].append('c') #修改对象a中的['a', 'b']数组对象
-
- print( 'a = ', a )
- print( 'b = ', b )
- print( 'c = ', c )
- print( 'd = ', d )
复制代码
详细解析请看链接:
Python直接赋值,浅拷贝与深度拷贝的解析 |
|