Menu
Coddy logo textTech

Trier les données efficacement

Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 48 sur 78.

Le tri est une opération fondamentale en informatique, et Python propose de puissants outils intégrés pour trier efficacement les données. La fonction principale de tri est sorted(), qui peut être utilisée pour trier différents types de données, notamment des nombres, des chaînes de caractères et des objets plus complexes.

Tri de base :

La fonction sorted() prend un itérable (par exemple, une liste, un tuple ou un ensemble) comme argument et renvoie une nouvelle liste contenant les éléments triés. Par défaut, elle trie dans l’ordre croissant.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Sortie : [1, 1, 2, 3, 4, 5, 6, 9]

Dans cet exemple, sorted() trie la liste numbers par ordre croissant.

Tri décroissant :

Pour trier dans l’ordre décroissant, vous pouvez utiliser le paramètre reverse et le définir sur True.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Sortie : [9, 6, 5, 4, 3, 2, 1, 1]

Ici, sorted() trie la liste numbers par ordre descending.

Tri des chaînes :

La fonction sorted() peut également trier les chaînes selon leur ordre lexicographique (c’est-à-dire l’ordre dans lequel elles apparaîtraient dans un dictionnaire).

words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Sortie : ['apple', 'banana', 'cherry']

Dans cet exemple, sorted() trie la liste words par ordre alphabétique.

Tri personnalisé avec une fonction key :

Pour des besoins de tri plus complexes, vous pouvez utiliser le paramètre key afin de spécifier une fonction qui détermine l’ordre de tri. La fonction key est appliquée à chaque élément avant le tri, et les valeurs renvoyées sont utilisées pour la comparaison.

words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Sortie : ['fig', 'kiwi', 'banana']

Dans ce cas, sorted() trie la liste words en fonction de la longueur de chaque mot, en utilisant la fonction len() comme key.

challenge icon

Défi

Facile

Écrivez un programme qui effectue les tâches de tri suivantes à l’aide de la fonction sorted() :

  1. Trier une liste de nombres dans l’ordre croissant.
  2. Trier la même liste de nombres dans l’ordre décroissant.
  3. Trier une liste de chaînes de caractères dans l’ordre alphabétique.
  4. Trier la même liste de chaînes de caractères en fonction de leur longueur.

Essayez vous-même

# Entrées de départ
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]

# Tâche 1 : Trier les nombres par ordre croissant
# Tâche 2 : Trier les nombres par ordre décroissant
# Tâche 3 : Trier les mots par ordre alphabétique
# Tâche 4 : Trier les mots par longueur

# Remplacez 'None' par votre code pour chaque tâche
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None

# Afficher les résultats
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et flux

Entraînez-vous par vous-même : Compilateur Python en ligne