为什么在python 3.7.1
中这两个不是一样?
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], [], [], [], [], [], []]
最初,我尝试了第一个,同时期望第二个的输出,但是令人惊讶的是这没有发生。线索为何在第一个片段中初始化了相同的引用?