Comment trier les clés d'un dictionnaire par ordre alphabétique (créer un dictionnaire ordonné) en python ?

Active 02 septembre 2014    /    Viewed 5947    /    Comments 0    /    Edit


Exemples de comment trier les clés du dictionnaire par ordre alphabétique (créer un dictionnaire ordonné) en python:

Créer un dictionnaire en python

Créons un dictionnaire simple

d = {'a':1,'c':3,'b':2,'d':4,'f':6,'e':5}

print(d)

donne

{'a': 1, 'c': 3, 'b': 2, 'd': 4, 'f': 6, 'e': 5}

et

for k,v in d.items():
    print(k,v)

donne

a 1
c 3
b 2
d 4
f 6
e 5

Trier un dictionnaire existant par ordre alphabétique

Pour trier un dictionnaire existant:

from collections import OrderedDict

new_d = OrderedDict(sorted(d.items(), key=lambda t: t[0]))

print(new_d)

donne

OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6)])

et

for k,v in new_d.items():
    print(k,v)

donne

a 1
b 2
c 3
d 4
e 5
f 6

Utiliser pprint

Remarque: si votre objectif est d'afficher un dictionnaire par ordre alphabétique, une solution rapide et simple consiste à utiliser pprint

import pprint

d = {'a':1,'c':3,'b':2,'d':4,'f':6,'e':5}

pp = pprint.PrettyPrinter(indent=1, width=10)
pp.pprint(d)

donne

{'a': 1,
 'b': 2,
 'c': 3,
 'd': 4,
 'e': 5,
 'f': 6}

Références


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!