2017-04-12 65 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)