python 多维list声明时的小问题

a=[[]]*3 
a
Out[18]: [[], [], []]
a[0].append(1)
a
Out[20]: [[1], [1], [1]]
b=[[] for _ in range(3)]
b
Out[22]: [[], [], []]
b[0].append(1)
b
Out[24]: [[1], [], []]

如上代码所示,a这种方式相当于,t=[],a=[t,t,t],所以内部三个list都是一个list的引用,改一个三个全改.

原文地址:https://www.cnblogs.com/zywscq/p/10743426.html