我只是将一个数字附加到列表中的一个列表中,但为什么列表中的所有列表都包含在列表中?更改?

时间:2018-02-26 10:04:06

标签: python

In [33]: x=[[]]*6

In [34]: x

Out[34]: [[], [], [], [], [], []]

In [35]: x[0]

Out[35]: []

In [36]: x[0].append(1)

In [37]: x

Out[37]: [[1], [1], [1], [1], [1], [1]]

我只是将1追加到x [0],但为什么列表x中的所有列表都会改变?

1 个答案:

答案 0 :(得分:1)

这是因为x是对同一内部列表的引用列表。

要创建6个不同空列表的列表,您可以使用列表解析:

a = [[] for _ in range(6)]