Python - Trier les listes
Trier la liste par ordre alphanumérique
Les objets de liste ont une
sort()
méthode qui triera la liste alphanumériquement, par ordre croissant, par défaut :
Exemple
Triez la liste par ordre alphabétique :
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Exemple
Triez la liste numériquement :
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Trier par ordre décroissant
Pour trier par ordre décroissant, utilisez l'argument mot-clé reverse = True
:
Exemple
Triez la liste par ordre décroissant :
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Exemple
Triez la liste par ordre décroissant :
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Personnaliser la fonction de tri
Vous pouvez également personnaliser votre propre fonction en utilisant l'argument mot-clé .key =
function
La fonction renverra un nombre qui sera utilisé pour trier la liste (le nombre le plus bas en premier) :
Exemple
Triez la liste en fonction de la proximité du nombre avec 50 :
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Tri insensible à la casse
Par défaut, la sort()
méthode est sensible à la casse, ce qui fait que toutes les majuscules sont triées avant les minuscules :
Exemple
Le tri sensible à la casse peut donner un résultat inattendu :
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Heureusement, nous pouvons utiliser des fonctions intégrées comme fonctions clés lors du tri d'une liste.
Donc, si vous voulez une fonction de tri insensible à la casse, utilisez str.lower comme fonction clé :
Exemple
Effectuez un tri insensible à la casse de la liste :
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Ordre inverse
Que faire si vous souhaitez inverser l'ordre d'une liste, quel que soit l'alphabet ?
La reverse()
méthode inverse l'ordre de tri actuel des éléments.
Exemple
Inversez l'ordre des éléments de la liste :
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)