2D数组初始化python

时间:2018-11-14 09:46:30

标签: python

为什么在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], [], [], [], [], [], []]

最初,我尝试了第一个,同时期望第二个的输出,但是令人惊讶的是这没有发生。线索为何在第一个片段中初始化了相同的引用?

0 个答案:

没有答案