使用循环在数组中插入数组

时间:2016-11-28 15:04:23

标签: python arrays list function for-loop

我编写以下代码来创建像[[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'?

来解决这个问题

由于

1 个答案:

答案 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]]