可能重复:
Python list confusion
我有一个关于Python列表的小问题:
为什么会这样?
x = [[]] * 4
x[0].append('x') -> [['x'], ['x'], ['x'], ['x']]
答案 0 :(得分:6)
同一个[]
实例正在重复,所以当你追加到第一个'x'
时,你实际上将它追加到所有 - 因为它们都是同一个对象!
正确的方法是每次都明确创建一个新的列表实例:
x = [[] for _ in range(4)]