Résolue

Boucle sur élément d'une liste

# Boucles # Listes

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 !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.