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

Active 08 septembre 2014    /    Viewed 61904    /    Comments 0    /    Edit


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


Card image cap
profile-image
Daidalos

Hi, I am Ben.

I have developed this web site from scratch with Django to share with everyone my notes. If you have any ideas or suggestions to improve the site, let me know ! (you can contact me using the form in the welcome page). Thanks!



Did you find this content useful ?, If so, please consider donating a tip to the author(s). MoonBooks.org is visited by millions of people each year and it will help us to maintain our servers and create new contents.

Amount