실제로 pprint는 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}
그러나 항상 파이썬 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에서는 두 번째 sorted ()가 누락되었으므로 (당시 존재하지 않았 음) 한 줄에 인쇄 된 개체가 정렬되지 않습니다.
따라서 대답은 python2.5를 사용하는 것으로 보이지만 질문에서 출력을 설명하지는 못합니다.
Python3 업데이트
정렬 된 키로 예쁜 인쇄 (람다 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))