2 listes identiques mais à différencier - Python - Programmation
Marsh Posté le 25-12-2014 à 10:06:25
J'ai plus ou moins le même problème
Code :
|
A la fin la liste terrain est modifiée alors que je modifie juste self.map et que les deux listes n'ont pas la même référence. A mon avis la réponse à ton problème sera la réponse à mon problème.
Marsh Posté le 25-12-2014 à 16:32:04
sdgkl a écrit : Bonjour, |
Je ne comprends pas vraiment ce que tu veux. J'ai bricolé un petit exemple avec python 3.4
Code :
|
donc le slicing produit bien une copie pour une liste plate.
Code :
|
donc ça ne marche pas pour les listes imbriquées! Pour faire une copie en profondeur, tu peux utiliser la fonction deepcopy:
Code :
|
Mais tout cela ne résoud que la première partie de ta question. La deuxième partie je ne l'ai pas (encore) comprise.
Bonne fête de Noël !
Marsh Posté le 24-12-2014 à 18:52:20
Bonjour,
j'ai fais un programme sur python dans lequel j'ai deux listes (L1 et L2) qui sont identiques au début du programme, mais je me sers de ces deux liste dans une boucle for dans laquelle j'ai besoin de les différencier (puisque je veux ajouter des éléments à l'une et d'autres éléments à l'autre) et à la fin de la boucle je dis a python que ces listes sont de nouveau les mêmes pour qu'il puisse recommencer la boucle avec 2 mêmes listes. Le problème c'est que python confond les deux listes, du coup quand je veux modifier L2 il modifie en fait L1...
j'ai essayé d'ecrire L2=L1[:] ou L2=list(L1]
mais ça ne marche pas.. merci pour votre aide