Le tri d'une liste en Python vous permet d'organiser ses éléments par ordre croissant ou décroissant.

Au lieu d'écrire de longs blocs de code pour ce faire, Python a une méthode intégrée qui vous permet de trier les éléments dans n'importe quelle liste ou tableau. Nous expliquerons comment faire cela dans cet article.

Comment trier une liste en Python

Vous pouvez trier les éléments dans une liste ou un tableau à l'aide de Python sorte() méthode.

le sorte() La méthode en Python accepte deux arguments optionnels et la syntaxe ressemble à ceci:

list.sort (clé = fonction, inverse = Vrai / Faux)

Par défaut, le sorte() La méthode organise les éléments d'une liste dans l'ordre croissant:

maListe = ["C", "D", "B", "A", "F"]
myList.sort ()
imprimer (maListe)
Sortie: ['A', 'B', 'C', 'D', 'F']

Vous pouvez utiliser le sens inverse argument pour afficher la liste dans l'ordre décroissant:

maListe = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
imprimer (maListe)
Sortie: ['F', 'D', 'C', 'B', 'A']

Vous pouvez également organiser les éléments dans une liste en fonction de la longueur de chaque chaîne.

Pour ce faire, créez une fonction et passez-la dans le sorte() méthode utilisant l'option clé argument:

myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength (élément):
return len (objet)
myList.sort (reverse = True, key = sortLength)
imprimer (maListe)
Sortie: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Comment trier une liste de dictionnaires en Python

Vous pouvez utiliser le sorte() pour trier également une liste de dictionnaires.

Trions les tâches dans le dictionnaire ci-dessous par leur heure:

myArray = [
{"Tâche": "Lavage", "Heure": 12.00},
{"Tâche": "Football", "Heure": 24,00},
{"Tâche": "Trier", "Heure": 17,00},
{"Tâche": "Code", "Heure": 15,00}
]
def sortByTime (élément):
article de retour ["Time"]
myArray.sort (clé = sortByTime)
imprimer (myArray)

Étant donné que les valeurs de temps sont des entiers, le bloc de code ci-dessus réorganise le tableau en fonction du temps de la tâche.

En rapport: Fonctionnement des tableaux et des listes en Python

En plus de trier le tableau ci-dessus par heure, vous pouvez également l'organiser par ordre alphabétique à l'aide des tâches, qui sont des chaînes.

Pour trier par chaîne dans l'exemple de tableau, il vous suffit de modifier Temps dans le crochet carré pour Tâche:

myArray = [
{"Tâche": "Lavage", "Heure": 12.00},
{"Tâche": "Football", "Heure": 24,00},
{"Tâche": "Trier", "Heure": 17,00},
{"Tâche": "Code", "Heure": 15,00}
]
def sortByTime (élément):
article de retour ["Tâche"]
myArray.sort (clé = sortByTime)
imprimer (myArray)

Vous pouvez également trier les tâches dans l'ordre inverse en définissant sens inverse à vrai:

myArray.sort (clé = sortByTime, reverse = True)

Vous pouvez aussi utiliser une fonction lambda avec sorte() pour le code plus propre:

myArray.sort (clé = lambda getTime: getTime ["Time"])
imprimer (myArray)

Comment trier une liste Python imbriquée

Vous pouvez trier une liste imbriquée de tuples en fonction de l'index de chaque élément imbriqué dans cette liste.

Par exemple, le code ci-dessous utilise le troisième élément de chaque tuple pour trier la liste par ordre croissant:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
renvoie un [2]
Alist.sort (clé = sortByThirdIndex)
imprimer (Alist)
Sortie: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Dans la sortie ci-dessus, le troisième élément de chaque tuple augmente de zéro à vingt consécutivement.

Notez que cela ne fonctionne pas avec un ensemble Python car vous ne pouvez pas l'indexer. De plus, chaque imbrication de la liste doit appartenir au même type de données.

En rapport: Qu'est-ce qu'un ensemble en Python et comment en créer un

Cependant, pour organiser la sortie dans l'ordre décroissant:

Alist.sort (clé = getIndex, reverse = True)
imprimer (Alist)
Sortie: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Voyons à quoi cela ressemble avec un lambda fonction aussi:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted (Alist, key = lambda a: a [2])
imprimer (nouvelleListe)
Sortie: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Comment trier une liste à l'aide de la méthode Sorted ()

Vous pouvez également utiliser le trié () méthode.

Bien que cela fonctionne de la même manière que le sorte() méthode, il crée une nouvelle liste triée sans modifier l'original. Sa disposition de syntaxe est également légèrement différente.

La syntaxe du trié () La méthode ressemble généralement à ceci:

trié (liste, clé = fonction, inverse = Vrai / Faux)

Donc, pour trier une liste en utilisant le trié () méthode, vous devez créer une nouvelle variable pour la liste triée:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
renvoie un [2]
newList = trié (Alist, clé = getIndex)
imprimer (nouvelleListe)
Sortie: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

le trié () méthode accepte également un lambda fonction comme sa clé:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted (Alist, key = lambda a: a [2])
imprimer (nouvelleListe)
Sortie: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Où pouvez-vous appliquer le tri de liste?

Une solide maîtrise de la méthode de tri Python est nécessaire pour une programmation efficace. Il vous permet de contrôler la manière dont une liste ou un tableau apparaît et vous pouvez toujours l'appliquer dans des projets réels. Par exemple, trier une liste Python peut être utile lors de la réorganisation des données d'une API ou d'une base de données, ce qui a plus de sens pour un utilisateur final.

E-mail
Comment ajouter une liste en Python

Travailler avec des listes en Python? Voici ce que vous devez savoir sur l'utilisation de la fonction d'ajout de Python lorsque vous travaillez avec des listes.

Lire la suite

Rubriques connexes
  • Programmation
  • Python
  • Tutoriels de codage
A propos de l'auteur
Idowu Omisola (66 Articles publiés)

Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi rompre avec la routine de temps en temps. Sa passion pour montrer aux gens le chemin de la technologie moderne le motive à écrire davantage.

Plus de Idowu Omisola

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.