Valeur dans une liste dans une liste
Résolu
159357x
-
159357x -
159357x -
Bonjour, je suis sous python 3.7.4
Je souhaiterai savoir s'il est possible de changer un valeur spécifique d'une liste, qui elle même est à l'intérieur d'une liste.
Je pensais que quelque chose comme ça fonctionnerai, mais non.
Le problème, c'est qu'avec ce code, au lieu de ne changer que la valeur du milieu de la liste du milieu, cela change chaque valeur de la liste du milieu.
Pouvez-vous m'aider ?
Merci de votre aide d'avance.
Je souhaiterai savoir s'il est possible de changer un valeur spécifique d'une liste, qui elle même est à l'intérieur d'une liste.
Je pensais que quelque chose comme ça fonctionnerai, mais non.
cola=["0 ","0 ","0 ","0 ","0 "] cole=cola coly=cola colu=cola colo=cola liste=[cole,cola] for i in range(len(liste)) : print(liste[i]) liste[2][2]=" x" for i in range(len(liste)) : print(liste[i])
Le problème, c'est qu'avec ce code, au lieu de ne changer que la valeur du milieu de la liste du milieu, cela change chaque valeur de la liste du milieu.
Pouvez-vous m'aider ?
Merci de votre aide d'avance.
Configuration: Windows / Firefox 83.0
A voir également:
- Valeur dans une liste dans une liste
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
4 réponses
Bonjour à toi !
En effet, Python ne recopies pas les listes mais ne fait que des références
Par conséquent, pour recopier une liste, tu as 2 solutions:
ou bien
Par ailleurs, je repère une erreur dans ton code parce que
En espérant que ça ait pu t'aider !
En effet, Python ne recopies pas les listes mais ne fait que des références
Par conséquent, pour recopier une liste, tu as 2 solutions:
liste1 = ["0 ", "0 ", "0 ", "0 "] liste2 = [] for i in range(0, len(liste1)) { liste2.append(liste1[i]) }
ou bien
liste2 = liste1[0:len(liste)]
Par ailleurs, je repère une erreur dans ton code parce que
liste[2][2]est faux. N'oublies pas que les indices commencent à 0
En espérant que ça ait pu t'aider !
Merci, mais mon but n'est pas de recopier une liste.
Voyez cela comme un tableau avec des cases, chaque case est un 0.
Le but de mon script était donc de changer la case du milieu en un x.
Pourriez vous s'il vous plait m'expliquer comment faire cela exactement ?
Voyez cela comme un tableau avec des cases, chaque case est un 0.
Le but de mon script était donc de changer la case du milieu en un x.
Pourriez vous s'il vous plait m'expliquer comment faire cela exactement ?
Bonjour
Je dis cela parce que si tu fais:
En fait toutes tes listes seront identiques au point de répercuter chaque modification sur les autres
Ta liste a une longueur de 2. Par conséquent
Pour copier ta liste cola dans cole, coly, ... tu ne peux pas faire ma_liste = autre_liste à cause du problème ci-dessus, mais tu dois copier chaque élément un par un
Je dis cela parce que si tu fais:
cole = cola; coly = cola; ...
En fait toutes tes listes seront identiques au point de répercuter chaque modification sur les autres
Ta liste a une longueur de 2. Par conséquent
liste[1][2] = 'x'me semble plus correct
Pour copier ta liste cola dans cole, coly, ... tu ne peux pas faire ma_liste = autre_liste à cause du problème ci-dessus, mais tu dois copier chaque élément un par un