我只是在练习python代码,并在将列表追加到另一个列表时发现了一个奇怪的现象。请看一下代码:
inside = []
outside = []
for i in range(10):
inside.append(i)
outside.append(inside)
print(outside)
它输出:
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
但不应输出如下内容:
[[0],[0, 1],[0, 1, 2],[0, 1, 2, 3],[0, 1, 2, 3, 4],[0, 1, 2, 3, 4, 5],[0, 1, 2, 3, 4, 5, 6],[0, 1, 2, 3, 4, 5, 6, 7],[0, 1, 2, 3, 4, 5, 6, 7, 8],[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
我对我在哪里弄错了感到困惑。请帮忙。
答案 0 :(得分:5)
这是因为您告诉Python,您将名称为“ inside”的数组附加到外部。这意味着外部数组如下所示:
test_function('parameter_1','parameter_2','parameter_3'){
alert("Hello World");
}
之所以会这样,是因为Python在外部数组上附加了一个所谓的pointer,而不是数组本身的实际内容。