Python >> Tutoriel Python >  >> Python

Comment obtenir le dernier élément d'une liste Python ?

Problème :Étant donné une liste. Comment accéder au dernier élément de cette liste ?

Exemple :Vous avez la liste ['Alice', 'Bob', 'Liz'] et vous voulez obtenir le dernier élément 'Liz' .

Solution rapide :Utiliser l'indexation négative -1.

friends = ['Alice', 'Bob', 'Liz']
print(friends[-1])
# Liz

Pour accéder au dernier élément d'une liste Python, utilisez la notation d'indexation list[-1] avec indice négatif -1 qui pointe vers le dernier élément de la liste. Pour accéder aux avant-, troisième et avant-dernier éléments, utilisez les indices -2 , -3 , et -4 . Pour accéder au n derniers éléments d'une liste, utilisez le découpage list[:-n-1:-1] avec indice d'arrêt négatif -n et taille de pas négative -1 .

Méthode 1 :Accéder au dernier élément avec l'indexation négative -1

Pour amener tout le monde sur la même page, permettez-moi d'expliquer rapidement les indices en Python par exemple. Supposons que vous ayez la liste ['u', 'n', 'i', 'v', 'e', 'r', 's', 'e'] . Les indices sont simplement les positions des caractères de cette chaîne.

Indice (positif) 0 1 2 3 4 5 6 7
Élément ‘u’ ‘n’ ‘je’ ‘v’ ‘e’ ‘r’ ‘s’ ‘e’
Indice négatif -8 -7 -6 -5 -4 -3 -2 -1

Indice positif :Le premier caractère a l'index 0 , le deuxième caractère a l'indice 1 , et le i -ème caractère a l'index i-1 .

Indice négatif :Le dernier caractère a l'index -1 , l'avant-dernier caractère a l'index -2 , et le i -ème dernier caractère a l'index -i .

Maintenant, vous pouvez comprendre comment accéder au dernier élément de la liste :

friends = ['Alice', 'Bob', 'Liz']
print(friends[-1])
# Liz

Mais comment accéder à l'avant-dernier élément ? Utilisez simplement l'index -2 !

friends = ['Alice', 'Bob', 'Liz']
print(friends[-2])
# Bob

Méthode 2 :Accéder aux n derniers éléments avec découpage

Mais que se passe-t-il si vous souhaitez accéder au n derniers éléments ? La réponse est trancher.

L'opération de découpage par défaut list[start:stop:step] accède à tous les éléments entre start (inclus) et stop indices (exclus), en utilisant le step donné taille sur la liste. Par exemple, l'opération de découpage friends[0:3:2] commencerait par le premier élément 'Alice' et terminez par le troisième élément 'Liz' (inclus), mais en ne prenant qu'un élément sur deux en raison de la taille du pas de 2 —en sautant le deuxième élément 'Bob' .

Vous pouvez utiliser le découpage avec start négatif et stop indices et avec une taille d'arrêt négative pour trancher de droite à gauche. Pour accéder au n derniers éléments de la tranche, vous utiliserez donc le code suivant :

universe = ['u', 'n', 'i', 'v', 'e', 'r', 's', 'e']

# Access the n=4 last element from the list:
n = 4
print(universe[:-n-1:-1])
# ['e', 's', 'r', 'e']

Il y a différents points à considérer dans le code :

  • Vous utilisez une taille de pas négative -1, ce qui signifie que vous coupez de droite à gauche.
  • Si vous ne fournissez pas de valeur pour start , stop , ou step indices, Python prend ceux par défaut. Par exemple, nous ne fournissons pas le start indexer et effectuer un découpage négatif pour que Python commence à partir du dernier élément 'e' .
  • Vous voulez obtenir le n derniers éléments. Le n -ème dernier élément a l'index -n . Mais comme l'index d'arrêt n'est jamais inclus dans la tranche, nous devons trancher un pas plus loin vers la gauche - jusqu'à l'élément avec l'index -n-1 pour inclure l'élément d'index -n .

Essayez-le vous-même dans notre shell de code interactif :

Exercice :Que se passe-t-il si la liste comporte moins de n caractères ?