草庐IT

python - 为什么初始化列表列表的代码显然将列表链接在一起?

这个问题在这里已经有了答案:Listoflistschangesreflectedacrosssublistsunexpectedly(17个回答)关闭去年。我打算初始化一个长度为n的列表。x=[[]]*n但是,这会以某种方式将列表链接在一起。>>>x=[[]]*3>>>x[1].append(0)>>>x[[0],[0],[0]]我希望有类似的东西:[[],[0],[]]有什么想法吗? 最佳答案 问题是它们在内存中都是完全相同的列表。当你使用[x]*n语法时,你得到的是一个n许多x对象的列表,但它们都是引用到同一个对象。它们不是不