Trier une liste de nombres par ordre croissant ou décroissant avec python


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