Trier des listes en Python : guide complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Méthodes de tri de listes en Python : guide complet

Le tri de données est une opération essentielle dans presque toutes les applications. De la gestion des entrées utilisateur aux algorithmes complexes d'analyse de données. En Python, travailler avec des listes est intuitif. Les outils de tri offrent flexibilité et puissance.

Les bases des listes en Python

Les listes en Python sont des collections ordonnées et modifiables d'objets. Elles permettent de stocker des éléments de différents types et offrent un accès pratique par index.

nombres = [5, 2, 9, 1, 5, 6]
mots = ["banane", "pomme", "cerise"]
liste_mixte = [1, "bonjour", 3.14, True]

Les principales méthodes de tri de listes

Python propose deux façons principales de trier les listes : la méthode sort() et la fonction sorted(). Chacune a ses spécificités et ses cas d'usage.

La méthode sort() — tri sur place

La méthode sort() modifie la liste d'origine et retourne None. Cette approche est efficace en mémoire car elle ne crée pas de nouvelle liste.

nombres = [5, 2, 9, 1]
nombres.sort()
print(nombres)  # [1, 2, 5, 9]
Paramètres de la méthode sort()

La méthode sort() accepte les paramètres suivants :

  • reverse : définit l'ordre de tri (True pour décroissant, False pour croissant)
  • key : une fonction qui détermine le critère de tri
nombres = [5, 2, 9, 1]
nombres.sort(reverse=True)
print(nombres)  # [9, 5, 2, 1]

La fonction sorted() — création d'une nouvelle liste

La fonction sorted() retourne une nouvelle liste triée sans modifier la liste d'origine. C'est utile lorsque vous devez conserver l'ordre initial des éléments.

nombres = [5, 2, 9, 1]
nouveaux_nombres = sorted(nombres)
print(nouveaux_nombres)  # [1, 2, 5, 9]
print(nombres)           # [5, 2, 9, 1] — la liste d'origine est inchangée
Tri décroissant avec sorted()
nombres = [5, 2, 9, 1]
tri_decroissant = sorted(nombres, reverse=True)
print(tri_decroissant)  # [9, 5, 2, 1]

Comparaison des méthodes de tri

Méthode Modifie la liste Retourne une valeur Utilisation
sort() Oui Non (None) Quand l'ordre d'origine n'est pas nécessaire
sorted() Non Nouvelle liste Quand il faut conserver les données d'origine

Tri de chaînes de caractères dans les listes

Tri alphabétique

Pour le tri de chaînes, Python utilise l'ordre lexicographique par défaut :

mots = ["banane", "pomme", "cerise"]
mots.sort()
print(mots)  # ['banane', 'cerise', 'pomme']

Tri décroissant

mots = ["banane", "pomme", "cerise"]
mots.sort(reverse=True)
print(mots)  # ['pomme', 'cerise', 'banane']

Gestion de la casse lors du tri de chaînes

Sensibilité à la casse

Par défaut, le tri tient compte de la casse. Les majuscules précèdent les minuscules dans la table ASCII :

mots = ["Banane", "pomme", "Cerise"]
print(sorted(mots))  # ['Banane', 'Cerise', 'pomme']

Ignorer la casse

Pour un tri insensible à la casse, utilisez le paramètre key=str.lower :

mots = ["Banane", "pomme", "Cerise"]
print(sorted(mots, key=str.lower))  # ['Banane', 'Cerise', 'pomme']

Tri de structures de données complexes

Tri d'une liste de di

Blogs

Book Recommendations