矩阵的copy赋值
本帖最后由 波大大12138 于 2021-6-30 10:25 编辑copy赋值,不是只赋值数据值,赋值完之后,两个变量完全互不影响的吗?也就是说修改b 不会影响a,这里运行结果a,b都改变了?,等号赋值才是这样的啊
a=[,]
b=a.copy()
print(a is b)
print(a,'\n')
print(b,'\n')
b=999
print(b)
print(a)
列表嵌套的话,虽然最外层列表不一样,但是列表内元素指向的是同一id
a=[,]
b=a.copy()
print(a is b)
print(a is b)
print(a is b)
你可以这样赋值
a=[,]
b=eval(str(a))
print(a is b)
print(a,'\n')
print(b,'\n')
b=999
print(b)
print(a)
逃兵 发表于 2021-6-30 10:22
列表嵌套的话,虽然最外层列表不一样,但是列表内元素指向的是同一id
我是看了教学视频,我复现的,他确实不改变,他是b=999,这条代码我运行报错,我改为b=999应该不影响吧 波大大12138 发表于 2021-6-30 10:29
我是看了教学视频,我复现的,他确实不改变,他是b=999,这条代码我运行报错,我改为b=999应该 ...
数据结构不一样,他是数组,你这个是列表,所以会报错
import numpy as np
a=np.array([,])
b = a.copy()
b = 999
print(a)
print(b)
页:
[1]