0
我写下面的代码来创建像[[1,2,3],[2,2,3],[3,2,3]]
阵列插入在阵列中的阵列,使用循环
def f(X):
X[0]=X[0]+1
return X
L=[]
X=[1,2,3]
for i in range(0,3):
L=L+[X]
X=f(X)
print(L)
但它正在打印[[4, 2, 3], [4, 2, 3], [4, 2, 3]]
。为什么会发生,以及如何使用函数'f'解决这个问题?
感谢
问题寻求帮助调试(“为什么不这个代码工作吗?“)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –
发生了什么非常明显,解决方法是在f()中使用X的副本。 – polku
顺便说一下,你也可以在[1,2,3]]'中为'L = [[x,2,3]]。 –