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)
...
0
1
2
3
4
5
6
7
8
9
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 |