2017-04-12 63 views
0

创建3D名单的副本我有这样的代码如何在python

list1 = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], 
[[0, 0, 0], [0, 0, 0], [0, 0, 0]], 
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]] 
list2 = list1 
list1[0][0][0] = 2 
print(list2) 

我想在列表2创建列表1的副本,这样,当我在列表1更改值不会改变的价值在list2中也是如此。

+0

尝试:'列表2 = list1的[:]' –

+1

似乎并没有得以顺利,也许是因为它是一个三维列表。 – Matt

回答

1

你可以使用deepcopy

import copy 
list1 = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], 
[[0, 0, 0], [0, 0, 0], [0, 0, 0]], 
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]] 
list2 = copy.deepcopy(list1) 
list1[0][0][0] = 2 
print(list2)