Copier des listes imbriquées en Python
je veux copier un 2D liste, de sorte que si je modifie une liste, l'autre n'est pas modifié.
pour une liste unidimensionnelle, je fais juste ceci:
a = [1, 2]
b = a[:]
Et maintenant, si je modifie b
, a
n'est pas modifié.
mais cela ne fonctionne pas pour une liste bidimensionnelle:
a = [[1, 2],[3, 4]]
b = a[:]
si je modifie b
, a
est modifié aussi.
Comment puis-je résoudre ce problème?
24
demandé sur
vaultah
2010-03-30 03:10:34
2 réponses
pour une solution plus générale qui fonctionne quel que soit le nombre de dimensions, utilisez copy.deepcopy()
:
import copy
b = copy.deepcopy(a)
40
répondu
Ayman Hourieh
2010-03-29 23:13:01