避免在子列表中多次复制元素

时间:2014-08-01 14:51:25

标签: python list copy

我正在创建一个包含多个子列表和子子列表的列表,如下所示:

a = [0.1, 0.2, 0.4, 0.8, 1.2]
b = [[]] * 3
c = [[]] * 4
# Final list.
d = [[b, c]] * len(a)

我需要以这种方式创建它,因为它取决于各种其他列表的长度,这只是一个简化的例子。

当我尝试将单个元素附加到d时:

d[0][0][0].append(a[2])

我在整个列表中重复了相同的元素:

[[[[0.4], [0.4], [0.4]], [[], [], [], []]], [[[0.4], [0.4], [0.4]], [[], [], [], []]], [[[0.4], [0.4], [0.4]], [[], [], [], []]], [[[0.4], [0.4], [0.4]], [[], [], [], []]], [[[0.4], [0.4], [0.4]], [[], [], [], []]]]

我理解这是我创建d的方式的问题,但我不确定如何防止此行为。

0 个答案:

没有答案