Eigentlich pprint scheint die Schlüssel für Sie unter python2.5
>>> from pprint import pprint
>>> mydict = {'a':1, 'b':2, 'c':3}
>>> pprint(mydict)
{'a': 1, 'b': 2, 'c': 3}
>>> mydict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
>>> pprint(mydict)
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
>>> d = dict(zip("kjihgfedcba",range(11)))
>>> pprint(d)
{'a': 10,
'b': 9,
'c': 8,
'd': 7,
'e': 6,
'f': 5,
'g': 4,
'h': 3,
'i': 2,
'j': 1,
'k': 0}
Aber nicht immer unter Python 2,4
>>> from pprint import pprint
>>> mydict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
>>> pprint(mydict)
{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
>>> d = dict(zip("kjihgfedcba",range(11)))
>>> pprint(d)
{'a': 10,
'b': 9,
'c': 8,
'd': 7,
'e': 6,
'f': 5,
'g': 4,
'h': 3,
'i': 2,
'j': 1,
'k': 0}
>>>
Lesen des Quellcodes von pprint.py zu sortieren (2.5) es tut sortieren Sie die Wörterbuch
items = object.items()
items.sort()
für mehrzeilige oder diese für einzelne Zeile mit
for k, v in sorted(object.items()):
, bevor es versucht, etwas zu drucken, also wenn Ihr Wörterbuch richtig sortiert, dann sollte es richtig drucken. In 2.4 fehlt die zweite sorted() (war damals nicht vorhanden), so dass Objekte, die auf einer einzelnen Zeile gedruckt werden, nicht sortiert werden.
Also die Antwort scheint zu verwenden Python2.5, obwohl dies Ihre Ausgabe in der Frage nicht ganz erklären.
Stellt sich heraus, dass pprint bereits nach Schlüssel sortiert. Hätte das sorgfältiger überprüfen sollen. –