Affichage éléments de sous-liste
Résolu/Fermé
BlackDarkrai
Messages postés
1
Date d'inscription
dimanche 27 novembre 2022
Statut
Membre
Dernière intervention
27 novembre 2022
-
27 nov. 2022 à 19:03
PierrotLeFou - 28 nov. 2022 à 01:27
PierrotLeFou - 28 nov. 2022 à 01:27
A voir également:
- Affichage éléments de sous-liste
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Affichage double ecran - Guide
- Liste de diffusion whatsapp - Guide
2 réponses
yg_be
Messages postés
23462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 février 2025
Ambassadeur
1 568
Modifié le 27 nov. 2022 à 19:24
Modifié le 27 nov. 2022 à 19:24
bonjour,
merci de partager du texte, et pas des images, et de tenir compte de ceci quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
cet exemple plus simple t'aidera peut-être à comprendre le comportement de ton code:
liste=[] sousliste=[1] liste.append(sousliste) liste.append(sousliste) print("avant:",liste) liste[0][0]=2 print("ensuite:",liste)
Ce problème revient fréquemment. Je vais tenter une explication. J'espère qu'elle sera claire. :)
Comme l'a souligné yg_be, si on insère le même élément dans une liste comme sous-liste, c'est comme si on insérait un "pointteur" vers cette sous-liste.
Donc, en modifiant un élément dans la sous-liste, la modification apparaît partout.
Pour éviter ça, on peut par exemple, faire un append d'une "copie" de la sous-liste:
liste.append(sousListe[:])
Modifié le 27 nov. 2022 à 19:26
Ce que tu fais, c'est mettre deux références à sousliste dans liste.
Ce que tu souhaites faire, c'est sans doute copier le contenu de sousliste dans liste:
27 nov. 2022 à 19:29
En modifiant liste[0], c'est sousliste que tu modifies.