猿问

如何打印嵌套词典?

如何打印嵌套词典?

如何在Python中打印深度为~4的字典呢?我尝试使用漂亮的打印pprint(),但它不起作用:

import pprint 
pp = pprint.PrettyPrinter(indent=4)pp.pprint(mydict)

我只是希望"\t"每个嵌套都有一个缩进(),这样我得到这样的东西:

key1
    value1
    value2
    key2
       value1
       value2

等等

我怎样才能做到这一点?


至尊宝的传说
浏览 558回答 3
3回答

喵喵时光机

我不确定你想要格式化的样子,但你可以从这样的函数开始:def pretty(d, indent=0):    for key, value in d.items():       print('\t' * indent + str(key))       if isinstance(value, dict):          pretty(value, indent+1)       else:          print('\t' * (indent+1) + str(value))

心有法竹

通过这种方式,你可以用漂亮的方式打印它,例如你的字典名称是yasinimport json print (json.dumps(yasin, indent=2))

慕斯709654

噘嘴可以打印任何你扔的东西,例如(借用data另一个答案):data = {'a':2, 'b':{'x':3, 'y':{'t1': 4, 't2':5}}}pout.vs(data)会导致输出打印到屏幕上,如:{     'a': 2,     'b':     {         'y':         {             't2': 5,             't1': 4         },         'x': 3     }}或者您可以返回对象的格式化字符串输出:v = pout.s(data)它的主要用例是用于调试,因此它不会阻塞对象实例或任何东西,它会像你期望的那样处理unicode输出,在python 2.7和3中工作。披露:我是pout的作者和维护者。
随时随地看视频慕课网APP

相关分类

Python
我要回答