2017-04-12 7 views
0

ich diesen Code habenWie Kopie einer 3D-Liste in Python erstellen

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) 

Ich möchte eine Kopie von list1 in list2 schaffen, so dass, wenn ich den Wert in list1 ändert es den Wert nicht ändern in Liste2 auch.

+0

Versuchen zu verwenden: 'list2 = list1 [:]' –

+1

, die nicht zu arbeiten, vielleicht scheint, weil es sich um eine 3D-Liste ist. – Matt

Antwort

1

könnten Sie 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) 
Verwandte Themen