Forum Python

Please or S’enregistrer to create posts and topics.

Problème : Erreur lors de l'accès à un index négatif dans une liste python

Bonjour,
J'essaye d'accéder à un élément d'une liste en utilisant des indices négatifs, mais cela ne fonctionne pas comme prévu. Voici mon code :
ma_liste = [10, 20, 30, 40]
print(ma_liste[-5])

Cela renvoie l'erreur suivante :
IndexError: list index out of range
Je pensais que les indices négatifs parcouraient la liste depuis la fin, mais ici ça ne fonctionne pas. Qu'est-ce que je fais mal ? Merci pour votre aide !"

Bonjour webdev,

Les indices négatifs fonctionnent uniquement dans les limites de la liste (de -1 à -len(ma_liste)). Dans votre cas, -5 dépasse la longueur de la liste. Voici la solution :

Utilisez un indice valide, par exemple -1 pour accéder au dernier élément.
Si vous devez vérifier la validité d’un index avant l’accès :

ma_liste = [10, 20, 30, 40]
index = -5
if -len(ma_liste) <= index < len(ma_liste):
    print(ma_liste[index])
else:
    print("L'indice est hors des limites de la liste.")