a=[3,4]
b=[5,8]
c=[7,4]
d=[a,b,c]
print (d)
for i in range(3):
for j in range(2):
d[i][j]-=a[j]
print (d)
在这段 python 代码中,输出是
[[0,0], [5,8], [7,4]]
代替
[[0,0], [2,4], [4,0]]
谁能告诉我为什么?
最佳答案
d
包含对 a
的引用,而不是副本。
a
在循环的第一次迭代期间从 [3,4]
更改为 [0,0]
。这就是为什么循环的下一次迭代将执行 d[i][j]-=[0,0]
。
您应该将 d=[a,b,c]
替换为 d = [list(a), b, c]
关于python - 不能改变 python 中的原点..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231016/