单选题
运行下面程序,a、b、c、d四个变量的值错误的是()。
运行下面程序,a、b、c、d四个变量的值错误的是()。
import copy
a=[1,2,3,4,['a','b']
b=a
c=copy.copy (a)
d=copy.deepcopy(a)
a.Append(5)
a[4].Append ('c')
A
a==[1,2,3,4,['a','b','c'],5]
B
b==[1,2,3,4,['a','b','c'],5]
C
c==[1,2,3,4,['a','b','c']]
D
d==[1,2,3,4,['a','b','c']]
答案解析
正确答案:D
解析:
直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变;copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变;深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变。
题目纠错
