반응형
질문
파이썬에서 depth가 약 4인 딕셔너리를 어떻게 예쁘게 출력할 수 있을까요? pprint()
를 사용하여 예쁘게 출력을 시도해보았지만 작동하지 않았습니다:
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(mydict)
저는 각 중첩에 대해 들여쓰기 ("\t"
)를 원하며, 다음과 같은 결과를 얻고 싶습니다:
key1
value1
value2
key2
value1
value2
어떻게 이를 할 수 있을까요?
답변
내 첫 번째 생각은 JSON 직렬화기가 중첩된 사전에 대해 아마도 꽤 잘 작동한다는 것이었으므로, 그걸 이용해서 속임수를 써볼까 생각했습니다:
>>> import json
>>> print(json.dumps({'a':2, 'b':{'x':3, 'y':{'t1': 4, 't2':5}}},
... sort_keys=True, indent=4))
{
"a": 2,
"b": {
"x": 3,
"y": {
"t1": 4,
"t2": 5
}
}
}
반응형
댓글