0Pricing
Competitive Programming Academy · Leçon

sorted() et la fonction key

Trier des nombres, des chaînes et des tuples

sorted() et la fonction key est une leçon Competitive Programming Academy 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 Competitive Programming Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Competitive Programming Academy 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 Competitive Programming Academy, passe à CoddyKit PRO. Le cours Competitive Programming Academy 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 Competitive Programming Academy 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 Competitive Programming Academy ?

Aucune expérience préalable n'est requise. Competitive Programming Academy 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 Competitive Programming Academy ?

Oui. Chaque leçon Competitive Programming Academy 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

  1. sorted() et la fonction key
  2. Trier selon plusieurs champs
  3. Ordre personnalisé avec functools.cmp_to_key
  4. Pourquoi trier d’abord débloque des solutions
← Retour à Competitive Programming Academy