Python - 嵌套列表:一行代码

时间:2017-02-24 15:22:11

标签: python arrays list nested stack

A=???????????
print(A)
A[3][0]=5
print(A)

你可以把它放在什么?输出:​​

[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]

[[1], [5], [1], [5], [1], [5], [1], [5], [1], [5]]

提示:您可以使用与?的数量完全相同的答案回答这个问题。我尝试了以下内容。

A=[[1] for i in range(11)]

但这只给了我第一个输出。我怎样才能使A[3][0]=5时得到输出?

1 个答案:

答案 0 :(得分:2)

如果您将列表构建为

A = [[1],[1]]*5

然后它包含对两个列表的5个引用。这就像说:

X = [1]
Y = [1]
A = [X, Y, X, Y, X, Y, X, Y, X, Y]

最初看起来像:

[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]

然后改变

A[3][0]=5

表示您正在改变位于A中每个替代位置的列表,为您提供

[[1], [5], [1], [5], [1], [5], [1], [5], [1], [5]]