PythonListes et tuples
list. sort()
Trie une liste sur place.
- Renvoie
None- Modifie l’original
- Oui
Exemple
#Python
scores = [72, 95, 64, 88]
scores.sort()
print(scores)
names = ["léa", "Lucas", "emma", "Barthélémy"]
names.sort(key=str.lower)
print(names)
names.sort(key=len, reverse=True)
print(names)Résultatrésultat enregistré, vous pouvez le vérifier
[64, 72, 88, 95]
['Barthélémy', 'emma', 'Lucas', 'léa']
['Barthélémy', 'Lucas', 'emma', 'léa']
Définition et utilisation
#La méthode sort() ordonne les éléments de la liste, en modifiant la liste elle-même. Elle renvoie None, donc écrire liste = liste.sort() transforme la liste en None.
Elle accepte les mêmes paramètres que la fonction sorted() : key avec une fonction qui calcule la clé de tri, et reverse=True pour un ordre décroissant. Le tri est stable.
Si vous ne voulez pas modifier l’original, ou si vous triez autre chose qu’une liste, utilisez la fonction sorted(), qui renvoie une nouvelle liste.
Syntaxe
#Syntaxe
liste.sort(key=None, reverse=False)Paramètres
#key
fonction, optionnelle
Une fonction qui calcule la clé de tri.reverse
bool, par défaut False
Tri décroissant quandTrue.
Bonnes pratiques
#- Pour trier sans tenir compte de la casse, utilisez
key=str.lower. - Les lettres accentuées se trient par défaut selon leur point de code Unicode, ce qui peut les placer à un endroit surprenant, par exemple
ése trie aprèsz. Utilisez le modulelocaleou la bibliothèquePyICUpour un ordre alphabétique correct.
Entrées associées
#- sort() vs sorted()list.sort() trie la liste en place et renvoie None ; sorted() renvoie une nouvelle liste triée depuis toute collection, sans modifier l’original.
- sorted()Renvoie une nouvelle liste triée à partir des éléments de n’importe quelle collection.
- list.reverse()Inverse l’ordre des éléments d’une liste sur place.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.