我正在创建一个包含多个子列表和子子列表的列表,如下所示:
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
的方式的问题,但我不确定如何防止此行为。