L’inversion d’une liste ou d’un tableau est une tâche de programmation courante. Il existe de nombreux cas où vous pourriez avoir besoin de présenter les données dans l’ordre inverse, comme lors du tri d’une liste.
Comment inverser une liste ou un tableau avec Python ? Vous apprendrez les différentes approches dans cet article.
Créer une copie avec une boucle for
Bien que la boucle for de Python soit plus détaillée, elle peut être utile dans certains cas. Par exemple, il offre plus de flexibilité lors de l’exécution d’une logique complexe à certains points de l’opération inverse.
Lors de l’utilisation d’un indenté pour boucle, l’approche courante consiste à parcourir la liste d’origine dans l’ordre inverse. En commençant par l’élément final, chaque itération ajoute ensuite l’élément précédent à une nouvelle liste.
Étant donné une liste d’entiers entre un et neuf à titre d’exemple, voici comment inverser un tableau en utilisant un indenté pour boucle:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]# Create an empty list to hold the reversed array:
reversed_list = []
# Substract one from the length of the original array to start from the last index:
reducer = len(languages)-1
# Reverse the list inside a for loop:
for i in languages:
reversed_list.append(languages[reducer]) # Append the result to the empty list
reducer -=1 # Decrease the index by one at each iteration using the reducer
print(reversed_list)
Output:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Inverser une liste ou un tableau à l’aide de la compréhension de liste
Une compréhension de liste produit un code plus court. Et il n’y a pas besoin de variable temporaire car la compréhension de liste agit sur une liste en place.
Pour effectuer l’opération précédente, en utilisant une liste en compréhension :
reducer = len(languages)# Decrement the index within a range function using for loop in a list comprehension
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)
Output:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Utiliser l’opérateur de tranche
L’opérateur de tranche de liste est assez simple, bien qu’il ait quelques limitations. Par exemple, vous ne pourrez peut-être pas personnaliser la sortie comme vous le feriez lors de l’utilisation d’un pour boucle.
Voici comment inverser une liste à l’aide de l’opérateur slice :
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = languages[::-1]
print(rev_list)Output:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
le [::-1] La syntaxe est un raccourci intelligent qui se traduit par une liste inversée. Cela signifie en fait « copier chaque élément de la liste, en commençant par la fin et en comptant vers l’arrière » – c’est-à-dire « inverser » !
Utiliser la méthode inverse d’un tableau
C’est une autre méthode qui agit sur place : elle modifie le tableau d’origine. Cela peut être un défaut car vous ne pouvez pas conserver la liste précédente pour d’autres opérations.
Voici comment inverser un tableau à l’aide de la méthode reverse :
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)Output:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Utilisez la fonction inversée
La fonction reverse itère sur une liste, un tableau ou toute autre séquence et renvoie sa copie inversée. Cependant, vous devez déclarer explicitement la sortie inversée sous forme de liste.
Voilà comment cela fonctionne:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))Output:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Être créatif avec les tableaux
Les tableaux ou les listes sont des moyens courants de stocker des données. Selon votre objectif, vous souhaiterez peut-être présenter les données au client dans l’ordre inverse. Une façon de faire est d’inverser le tableau ou la liste avant de le rendre. Comme vous l’avez vu, il existe plusieurs façons d’inverser une liste en Python. Choisissez ce qui vous convient le mieux et correspond à votre logique pour un problème spécifique.
Vous voudrez peut-être également voir comment inverser un tableau dans d’autres langages de programmation pour mieux comprendre la logique d’arrière-plan.
Lire la suite
A propos de l’auteur