Pour trier une liste de nombres par ordre croissant ou décroissant avec python, il existe les fonctions sort() et sorted():
(1) Avec la fonction sort()
La fonction sort() modifie la liste de départ, exemple pour obtenir les nombres dans l'ordre croissant:
>>> import random>>> l = [i for i in range(10)]>>> random.shuffle(l)>>> l.sort()>>> l[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
pour obtenir les nombres dans l'ordre décroissant il faut utiliser reverse=True
>>> l.sort(reverse=True)>>> l[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
(2) Avec la fonction sorted()
Autre exemple avec sorted():
>>> import random>>> l = [i for i in range(10)]>>> random.shuffle(l)>>> l[8, 6, 7, 2, 1, 4, 0, 5, 3, 9]>>> sorted(l)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Notez qu'ici la fonction sorted() ne change pas la liste de départ
>>> l[8, 6, 7, 2, 1, 4, 0, 5, 3, 9]
On peut utiliser cette fonction dans une boucle par exemple:
>>> for i in sorted(l):... print(i)...0123456789
pour obtenir les nombres dans l'ordre décroissant il faut utiliser reverse=True
>>> sorted(l,reverse=True)[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Références
| Liens | Site |
|---|---|
| sort() | python doc |
| sorted() | python doc |
| Sorting HOW TO | python 3 doc |
| Python List sort() | programiz.com |
| sorted | Python doc |
| Python - how to sort a list of numerical values in ascending order | stackoverflow |
