Créer un dictionnaire ordonnée avec python

Active 13 septembre 2014    /    Viewed 3019    /    Comments 0    /    Edit


Avec python les dictionnaires ne sont pas ordonnés et quand vous voulez afficher ces derniers, vous ne contrôlez pas l'ordre d'affichage:

>>> dico = {'Bob':'21','Ben':'18','Bill':'47','Peter':'12'}
>>> for key, values in dico.iteritems():
...     print key,values
... 
Bob 21
Bill 47
Ben 18
Peter 12

Si vous voulez ordonner votre dictionnaire voici une petite astuce en passant par OrderedDict:

>>> l1 = ['Bob','Ben','Bill','Peter']
>>> l2 = ['21','18','47','12']
>>> dico = OrderedDict(zip(l1,l2))
>>> for key, values in dico.iteritems():
...     print key,values
... 
Bob 21
Ben 18
Bill 47
Peter 12

Recherches associées

Liens Site
OrderedDict Python Doc
How to subclass an OrderedDict? stackoverflow
Python OrderedDict iteration 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!