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]
