python将A赋值给C,为什么修改了C,A还会变

importtime#导入time库,方便阅读importnumpyasnp#导入numpy库,下面出现的np即numpy库A=[91,95,97,99]B=[92,93... import time # 导入 time库,方便阅读import numpy as np # 导入 numpy库,下面出现的 np 即 numpy库A=[91, 95, 97, 99]B=[92, 93, 96, 98] C=A #新建一个序列,避免影像原数据C.extend(B) #把AB两列混在一起print('a{}, b{}, c{}' .format(A,B,C))#a[91, 95, 97, 99, 92, 93, 96, 98], b[92, 93, 96, 98], c[91, 95, 97, 99, 92, 93, 96, 98] 展开
 我来答
匿名用户
2019-10-07
展开全部
应该说C与A都指向了那个列表,不信你用:
print(id(C),id(A))
看一下是不是同一个地址,也就是说它们指向了同一个列表(列表是可变对象),那么不论通过C还是通过A修改列表,都是一回事
但可用深拷贝来改变:
import copy
C = copy.deepcopy(A)
print(id(C),id(A)) #就不一样了,修改C,A不会再变了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式