gkt*_*gkt 3 python syntax list
列表列表的这两个声明之间有什么区别?
>>> l = [[]]*4
>>> l
[[], [], [], []]
>>> l[1].append(1)
>>> l
[[1], [1], [1], [1]]
>>> m = [[],[],[],[]]
>>> m[1].append(1)
>>> m
[[], [1], [], []]
Run Code Online (Sandbox Code Playgroud)
Bre*_*arn 12
第一个创建对单个列表的四个引用 - 它是重复四次的相同列表.第二个创建四个不同的列表.在第一种情况下,当您附加到一个列表时,它会影响所有列表,因为它们都是相同的对象.在第二种情况下,每个列表都是一个不同的对象,因此附加到一个列表不会影响其他列表.