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

Published: 02 septembre 2014

Tags: Python; Dictionnaire; OrderedDict;

DMCA.com Protection Status

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