Exercices Python pour débutants

Sort a List in Python with sorted() and key

Sort numbers, words or whole records by any field, ascending or descending, in one line.

  • Débutant
  • 2 min de lecture
  • 1 exemple exécutable
Ce que vous allez apprendre
  • sorted() versus list.sort()
  • Sorting records with key=lambda
  • reverse=True for descending order
sorted(students, key=score, reverse=True)
1stAda (95)
2ndSam (91)
3rdLin (88)

The key decides the order

La fonction sorted() renvoie une nouvelle liste triée et laisse la liste d'origine intacte. Avec des données plus complexes, comme une liste de dictionnaires, le paramètre key indique le critère de tri, par exemple trier les étudiants selon leur note.

Points clés

  1. sorted(items) returns a new list; items.sort() changes the list in place.
  2. key=lambda s: s["score"] sorts records by one field.
  3. reverse=True sorts from largest to smallest.
  4. Python's sort is stable: equal keys keep their original order.

Quand l’utiliser ?

  • Découvrir la syntaxe et les notions de base de Python avec des exemples courts et faciles à comprendre.
  • Acquérir des bases solides avant de passer à des problèmes plus complexes.
  • Exécuter le code directement dans le navigateur, sans installer Python sur l’ordinateur.

Code d’exemple

Exécuter le code →
main.py
students = [
    {"name": "Lin", "score": 88},
    {"name": "Ada", "score": 95},
    {"name": "Sam", "score": 91},
]

ranked = sorted(students, key=lambda student: student["score"], reverse=True)
print([student["name"] for student in ranked])
Obtenir un bouton Run pour cet exemple

Résultat de l’exécution

['Ada', 'Sam', 'Lin']

Explication du code

La fonction lambda student: student["score"] récupère la note de chaque étudiant pour servir de critère de comparaison. Le paramètre reverse=True trie dans l'ordre décroissant, l'étudiant qui a la meilleure note arrive donc en tête. La liste students d'origine n'est pas modifiée.

Modifiez les valeurs et exécutez le programme avec le compilateur Python en ligne CodeUtility, sans installation locale.

Exercices d’approfondissement

Essayez de modifier le code en suivant les pistes ci-dessous. Changer le code et observer le résultat vous fera bien mieux comprendre la leçon que la simple lecture.

  1. Changez les données d’entrée et prévoyez le résultat avant d’exécuter.
  2. Ajoutez une vérification pour les données vides ou invalides.
  3. Placez le traitement dans une fonction séparée et testez-la avec plusieurs jeux de données.
Exécuter dans le compilateur Python →

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis