Comment trier presque n'importe quel type de liste en Python

Comment trier presque n'importe quel type de liste en Python

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 vous expliquerons comment procéder dans cet article.





Comment trier une liste en Python

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





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

list.sort(key = function, reverse = True/False)

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



myList = ['C', 'D', 'B', 'A', 'F']
myList.sort()
print(myList)
Output: ['A', 'B', 'C', 'D', 'F']

Vous pouvez utiliser le inverser argument pour afficher la liste par ordre décroissant :

myList = ['C', 'D', 'B', 'A', 'F']
myList.sort(reverse = True)
print(myList)
Output: ['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(item):
return len(item)
myList.sort(reverse = True, key = sortLength)
print(myList)
Output: ['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 du dictionnaire ci-dessous en fonction de leur temps :

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Time']
myArray.sort(key = sortByTime)
print(myArray)

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

En rapport: Comment fonctionnent les tableaux et les listes en Python

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

Pour trier par chaîne dans l'exemple de tableau, il vous suffit de modifier Temps entre crochets pour Tâche :

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Task']
myArray.sort(key = sortByTime)
print(myArray)

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

myArray.sort(key = sortByTime, reverse = True)

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

myArray.sort(key = lambda getTime: getTime['Time'])
print(myArray)

Comment trier une liste Python imbriquée

Vous pouvez trier une liste imbriquée de tuples par 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):
return a[2]
Alist.sort(key = sortByThirdIndex)
print(Alist)
Output: [(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 passe 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 nid de la liste doit appartenir au même type de données.

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

protecteur d'écran de confidentialité iphone 11 pro

Cependant, pour organiser la sortie par ordre décroissant :

Alist.sort(key = getIndex, reverse = True)
print(Alist)
Output: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Voyons à quoi cela ressemble avec un lambda fonctionne 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])
print(newList)
Output: [(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()

Alternativement, vous pouvez utiliser le trié() méthode.

Bien qu'il 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 syntaxique est également légèrement différente.

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

sorted(list, key = function, reverse = True/False)

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):
return a[2]
newList = sorted(Alist, key = getIndex)
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Les trié() méthode accepte également un lambda fonctionner 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])
print(newList)
Output: [(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 compréhension 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 est diffusé et vous pouvez toujours l'appliquer à des projets réels. Par exemple, le tri d'une liste Python peut s'avérer utile lors de la réorganisation des données d'une API ou d'une base de données, cela a donc plus de sens pour un utilisateur final.

Partager Partager Tweeter 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 Python lorsque vous travaillez avec des listes.

Lire la suite
Rubriques connexes
  • La programmation
  • Python
  • Tutoriels de codage
A propos de l'auteur Idisou Omisola(94 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 de temps en temps rompre avec la routine. Sa passion pour montrer aux gens le chemin autour de la technologie moderne le motive à écrire plus.

Plus de Idowu Omisola

Abonnez-vous à notre newsletter

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

Cliquez ici pour vous abonner