Problème avec l'instruction del et les listes

Résolu
Ilioo Messages postés 48 Statut Membre -  
Ilioo Messages postés 48 Statut Membre -
Bonjour,
Je commence tout juste le python et j'aimerais vous demander de l'aide à propos d'un problème.
Dans une de mes fonctions, j'ai une liste en entrée. Au sein de ma fonction je veux bidouiller deux listes qui au départ sont identiques à celle de l'entrée.
Le problème, c'est que lorsque j'utilise l'instruction del sur une des deux listes, les deux listes sont touchées !
Voici un exemple pour illustrer :


J'aimerais savoir ce qui se passer, et surtout comment je peux contourner le problème.
Je précise que je code normalement sur Ubuntu, mais je suis souvent contrainte d'avancer sur Windows en parallèle.

Merci d'avance.

A voir également:

1 réponse

ElementW Messages postés 5690 Statut Contributeur 1 224
 
'lut, tu viens de toucher a un problème inhérent a certains langages: les listes, en Python, sont passées par référence; autrement dit, quand on utilise une opération d'attribution, la liste n'est pas copiée, mais la variable voulue y est associée.
Ce n'est pas le cas d'autres types comme
float
ou
int
.
Il faut, pour la copier, soit passer par le constructeur de
list
:
a = [1, 2, 3]
b = list(a)
<...>
Soit l'opérateur de découpage, qui sans paramètre découpera la liste du début à la fin, la copiant, effectivement:
a = [1, 2, 3]
b = a[:]
<...>
0
Ilioo Messages postés 48 Statut Membre 13
 
Merci beaucoup !! :)
0