可能重复:
Python列表混乱
我有一个关于Python列表的小问题:
为什么会这样?
x = [[]] * 4
x[0].append('x') -> [['x'], ['x'], ['x'], ['x']]
Run Code Online (Sandbox Code Playgroud)
[]正在复制相同的实例,所以当你附加到第一个实例时'x',你实际上将它附加到所有 - 因为它们都是同一个对象!
正确的方法是每次都显式创建一个新的列表实例:
x = [[] for _ in range(4)]
Run Code Online (Sandbox Code Playgroud)