Fonction sorted() de Python
Description
sorted()La fonction effectue une opération de tri sur tous les objets itérables.
Différence entre sort et sorted :
sort est une méthode appliquée aux listes, tandis que sorted peut trier tous les objets itérables.
La méthode sort d'une liste agit sur une liste existante et ne renvoie aucune valeur, tandis que la fonction intégrée sorted renvoie une nouvelle liste au lieu de modifier l'originale.
Syntaxe
Syntaxe de sorted :
sorted(iterable, cmp=None, key=None, reverse=False)
Description du paramètre :
- iterable -- Un objet itérable.
- cmp -- La fonction de comparaison. Elle a deux paramètres, tous deux issus de l'itérable. Cette fonction doit suivre la règle : renvoyer 1 si supérieur, -1 si inférieur, 0 si égal.
- key -- L'élément principalement utilisé pour la comparaison. Il n'a qu'un seul paramètre, qui est issu de l'itérable, et désigne un élément dans l'itérable à utiliser pour le tri.
- reverse -- Règle de tri. reverse = True signifie ordre décroissant, reverse = False signifie ordre croissant (par défaut).
Valeur de retour
Renvoie une liste retriée.
Exemples
L'exemple suivant montre comment utiliser sorted :
>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a) # Préserver la liste d'origine
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # Utilisation de la fonction cmp
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1]) # Utilisation de key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2]) # Trier par âge
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
>>> sorted(students, key=lambda s: s[2], reverse=True) # Trier par ordre décroissant
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>>
Fonctions intégrées de Python