【问题标题】:Python - Nested lists: One line codePython - 嵌套列表:一行代码
【发布时间】:2017-07-15 11:57:58
【问题描述】:
A=???????????
print(A)
A[3][0]=5
print(A)

你可以在 ?'s 中添加什么来使其输出:

[[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时给出的输出?

【问题讨论】:

标签: python arrays list nested stack


【解决方案1】:

如果您将列表构建为

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

【讨论】:

    猜你喜欢
    • 2011-10-14
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多