Je voudrais faire une copie profonde d'une dict
en python. Malheureusement, le .deepcopy()
n'existe pas pour la méthode dict
. Comment je fais ça ?
>>> my_dict = {'a': [1, 2, 3], 'b': [4, 5, 6]}
>>> my_copy = my_dict.deepcopy()
Traceback (most recent calll last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'deepcopy'
>>> my_copy = my_dict.copy()
>>> my_dict['a'][2] = 7
>>> my_copy['a'][2]
7
La dernière ligne devrait être 3
.
Je voudrais que les modifications dans my_dict
n'ont pas d'impact sur l'instantané my_copy
.
Comment je fais ça ? La solution doit être compatible avec Python 3.x.
3 votes
Je ne sais pas si c'est un doublon, mais ceci : stackoverflow.com/questions/838642/python-dictionnaire-deepcopy est terriblement proche.