首页 > 解决方案 > 将元素附加到列表列表中会覆盖整个列表

问题描述

代码如下所示:

s = [[]] *4
s[0].append(1)

print(s)

它给了我输出:

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

但我想要这样的输出:

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

我怎样才能做到这一点?

标签: python

解决方案


您不能使用[[]] * 4创建四个列表。在这种情况下,您只是创建一个列表和四个指向它的引用。

所以你应该使用[[] for _ in range(4)].


推荐阅读