sorted()

Renvoie une nouvelle liste triée à partir des éléments de n’importe quelle collection.

Renvoie
Une nouvelle liste triée.
Sur cette page

Exemple

#
Python
scores = [72, 95, 64, 88]
print(sorted(scores))
print(sorted(scores, reverse=True))
print(sorted(["Python", "CSS", "HTML"], key=len))
print(scores)
Résultatrésultat enregistré, vous pouvez le vérifier
[64, 72, 88, 95]
[95, 88, 72, 64]
['CSS', 'HTML', 'Python']
[72, 95, 64, 88]

Définition et utilisation

#

La fonction sorted() crée une nouvelle liste avec les éléments triés. La collection d’origine ne change pas, donc elle fonctionne aussi sur les tuples, les ensembles et les chaînes.

Le paramètre key prend une fonction dont le résultat décide de l’ordre, par exemple key=len trie par longueur, et key=lambda s: s["points"] trie par un champ du dictionnaire. Le paramètre reverse=True inverse l’ordre.

Le tri en Python est stable : les éléments ayant des clés égales conservent leur ordre relatif. Cela permet de trier selon plusieurs critères, en triant d’abord selon le moins important.

Syntaxe

#
Syntaxe
sorted(iterable, key=None, reverse=False)

Paramètres

#
  • iterable

    une collection

    Les éléments à trier.
  • key

    fonction, optionnelle

    La fonction qui calcule la clé de tri.
  • reverse

    bool, par défaut False

    Tri décroissant quand True.

Plus d’exemples

#
Trier des dictionnaires
Python
students = [
    {"name": "Lucas", "points": 90},
    {"name": "Léa", "points": 120},
    {"name": "Emma", "points": 90},
]

ranking = sorted(students, key=lambda s: (-s["points"], s["name"]))
print([s["name"] for s in ranking])
Résultatrésultat enregistré, vous pouvez le vérifier
['Léa', 'Emma', 'Lucas']

Bonnes pratiques

#
  • Pour trier selon plusieurs critères, renvoyez un tuple depuis key, par ex. (-points, nom).
  • Si vous voulez trier une liste sur place, sans en créer une nouvelle, utilisez la méthode list.sort().

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.