Problème avec l'instruction del et les listes
Résolu
Ilioo
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
Ilioo Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Ilioo Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Problème avec l'instruction del et les listes
- Touche del ✓ - Forum Programmation
- Touche suppr du clavier ne fonctionne plus ✓ - Forum Clavier
- La touche DEL ? ✓ - Forum Clavier
- L'instruction à 0x00007ff ✓ - Forum Virus
- Press del to enter setup - Forum BIOS
1 réponse
'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
Il faut, pour la copier, soit passer par le constructeur de
Ce n'est pas le cas d'autres types comme
floatou
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[:] <...>
Ilioo
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
13
Merci beaucoup !! :)