在python中这两个不一样
3.7.1
是吗?
一。
all = [[]] * 10
all[3].append(33)
> [[33], [33], [33], [33], [33], [33], [33], [33], [33], [33]]
2.
all = [[] for i in range(10)]
all[3].append(33)
> [[], [], [], [33], [], [], [], [], [], []]
最初,我尝试了第一个,同时期望从第二个输出,但令人惊讶的是,这并没有发生。有什么线索可以解释为什么在第一个片段中初始化了同一个引用?