Boucle sur élément d'une liste
Peux tu m'expliquer ce que fait ce code
a = [0, 1, 2, 3]
for a[-1] in a :
print(a[-1])
j'ai le résultat ci-dessous que je n'arrive pas à comprendre :
0
1
2
2
Bonjour Edgar, ta boucle est très complexe à comprendre. Qu'est ce que voulais fair exactement à la base ?
Quand tu écris a[-1] c'est pour accéder au dernier élément de ta liste. Dans ton exemple tu obtiendras 3.
Il faut faire attention à ce que la variable que tu utilises pour le parcours de liste ne soit pas une variable utilisée autre part, sinon tu vas avoir des résultats inattendus. Ici tu utilise a[-1] qui est un élément qui existe ailleurs dans ton script.
Si tu veux parcourir ta liste il faut faire varier un élément ( elem par exemple) dans le parcours de liste comme ci dessous
a = [0, 1, 2, 3]
for elem in a:
print(elem)
0
1
2
3
Ou encore:
for in range(len(a)):
print(a[i])
L'ennui ici c'est que dans ta boucle, tu fais for a[-1] comme si tu fixais l'élément qui justement devrait être variable.
Honnêtement je ne saurais pas expliquer le résultat que tu obtiens c'est très bizarre. A moins que tu avais un besoin très précis, je te ne conseille pas de faire une boucle de cette manière.
Dis moi si ça t'apporte plus de clarifications?
Pour info tu peux regarder la session de mentorat d'hier (Jeudi 08 Sept). A un moment je parle de slicing.
A +
Bonjour pacdev,
Merci de m'avoir rassuré sur le fonctionnement d'une boucle, j'ai toujours procédé tel que tu l'as décrit. J'avoue c'est un exo que j'ai vu sur le net et je cherchais à mieux comprendre ce qu'on peut faire d'une telle boucle.
a+
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte