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

Published: 08 septembre 2014

DMCA.com Protection Status

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