sorted() et la fonction key
Trier des nombres, des chaînes et des tuples
sorted() et la fonction key est une leçon Coding Interview Prep gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Coding Interview Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Coding Interview Prep comprend 4 leçons au total.
Le tri fait gagner les concours
De nombreux problèmes de concours deviennent faciles dès que les données sont ordonnées. Votre premier outil est sorted(), qui renvoie une nouvelle liste ordonnée. 🏆
sorted() renvoie une copie
Appeler sorted(nums) laisse la liste d'origine intacte et vous fournit une nouvelle liste triée. C'est idéal si vous devez encore utiliser l'entrée plus tard.
nums = [3, 1, 2]
print(sorted(nums)) # [1, 2, 3]
print(nums) # [3, 1, 2]list.sort() trie sur place
Lorsque l'ordre d'origine ne vous est pas nécessaire, list.sort() trie sur place et renvoie None. Cela économise de la mémoire pour les grands tableaux.
nums = [3, 1, 2]
nums.sort()
print(nums) # [1, 2, 3]L'ordre croissant par défaut
Par défaut, Python trie du plus petit au plus grand. Les nombres vont du plus bas au plus élevé, et les chaînes suivent l'ordre lexicographique, caractère par caractère.
print(sorted(["pear", "apple", "kiwi"]))
# ['apple', 'kiwi', 'pear']Inversez l'ordre avec reverse
Passez reverse=True pour trier du plus grand au plus petit. C'est parfait lorsqu'une étape gloutonne a besoin de traiter d'abord les plus grands éléments.
print(sorted([3, 1, 2], reverse=True))
# [3, 2, 1]Découvrez la fonction key
L'argument key indique à sort comment classer chaque élément. Python applique key à chaque élément et les ordonne selon les valeurs renvoyées.
words = ["bb", "a", "ccc"]
print(sorted(words, key=len))
# ['a', 'bb', 'ccc']key avec une lambda
Une petite lambda vous permet de trier selon n'importe quelle expression directement dans le code. Ici, nous ordonnons les nombres selon leur distance par rapport à zéro.
vals = [-5, 2, -1, 3]
print(sorted(vals, key=lambda x: abs(x)))
# [-1, 2, 3, -5]Triez des objets selon un champ
Avec des tuples ou des enregistrements, faites pointer key vers le champ important. Le reste de l'élément suit automatiquement.
people = [("Ann", 30), ("Bob", 25)]
print(sorted(people, key=lambda p: p[1]))
# [('Bob', 25), ('Ann', 30)]Le tri est stable
Le tri de Python est stable : les clés égales conservent leur ordre relatif d'origine. Vous pouvez ainsi enchaîner les tris pour départager les égalités en toute sécurité.
key est plus efficace que la comparaison manuelle
Une key est calculée une seule fois par élément, ce qui la rend rapide sur les grandes entrées. Utilisez-la plutôt que d'échanger vous-même les éléments.
Le tri coûte O(n log n)
Python trie en temps O(n log n). Pour n pouvant atteindre quelques centaines de milliers, cela tient confortablement dans une limite d'une seconde.
Vérification rapide
Vous devez ordonner la liste tout en conservant l'originale intacte.
Récapitulatif
Vous pouvez ordonner les données avec sorted() ou effectuer le tri sur place, inverser l'ordre avec reverse et classer n'importe quoi à l'aide d'une key. Le tri stable conserve les égalités dans le bon ordre. 🎉
Questions Fréquemment Posées
La leçon « sorted() et la fonction key » est-elle gratuite ?
Oui — le texte complet de « sorted() et la fonction key » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Coding Interview Prep, passe à CoddyKit PRO. Le cours Coding Interview Prep comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « sorted() et la fonction key » ?
Trier des nombres, des chaînes et des tuples Tu pratiques Coding Interview Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Coding Interview Prep ?
Aucune expérience préalable n'est requise. Coding Interview Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « sorted() et la fonction key » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Coding Interview Prep ?
Oui. Chaque leçon Coding Interview Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- sorted() et la fonction key
- Trier selon plusieurs champs
- Ordre personnalisé avec functools.cmp_to_key
- Pourquoi trier d’abord débloque des solutions