Skip to main content
 首页 » 编程设计

python之不能改变 python 中的原点..

2025年05月04日16lidabo

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]