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
- pprint
- OrderedDict in Python
- OrderedDict | python doc
- How to sort dictionary by key in alphabetical order Python | stackoverflow
- Key Order in Python Dicionaries | stackoverflow
- Sort a dictionary alphabetically, and print it by frequency | stackoverflow
- How to Sort Python Dictionaries by Key or Value | pythoncentral
- sorting dictionary python 3 | stackoverflow