वास्तव में python2.5 के तहत pprint आपके लिए कुंजियों को क्रमबद्ध करने लगता है
>>> 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}
लेकिन हमेशा अजगर 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}
>>>
Pprint.py (2.5) के स्रोत कोड को पढ़कर यह शब्दकोश का उपयोग करने को क्रमबद्ध करता है
items = object.items()
items.sort()
मल्टीलाइन या सिंगल लाइन के लिए
for k, v in sorted(object.items()):
इससे पहले कि यह कुछ भी छापने का प्रयास करता है, इसलिए यदि आपका शब्दकोश ठीक तरह से पसंद करता है तो इसे ठीक से प्रिंट करना चाहिए। 2.4 में दूसरा छांटा हुआ () गायब है (तब मौजूद नहीं था) ताकि एक पंक्ति में छपी हुई वस्तुओं को छांटा न जाए।
तो यह जवाब python2.5 का उपयोग करता प्रतीत होता है, हालांकि यह सवाल में आपके आउटपुट को काफी स्पष्ट नहीं करता है।
पायथन 3 अपडेट
क्रमबद्ध कुंजियों द्वारा सुंदर प्रिंट (लैम्ब्डा x: x [0]):
for key, value in sorted(dict_example.items(), key=lambda x: x[0]):
print("{} : {}".format(key, value))
सॉर्ट किए गए मानों द्वारा बहुत अच्छा प्रिंट (लैम्ब्डा x: x [1]):
for key, value in sorted(dict_example.items(), key=lambda x: x[1]):
print("{} : {}".format(key, value))