我编写以下代码来创建像[[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'?
由于
答案 0 :(得分:0)
如果您必须使用您的函数f
,请尝试按以下步骤操作:
l = []
x = [1, 2, 3]
def f(x):
x[0] = x[0] + 1
return x
for i in range(3):
l.append(x[:])
x = f(x)
<强>输出:强>
>>> l
[[1, 2, 3], [2, 2, 3], [3, 2, 3]]