漂亮的打印嵌套字典在Python? [英] pretty printing nested dictionaries in Python?

查看:125
本文介绍了漂亮的打印嵌套字典在Python?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Python中打印深度为〜4的字典?我尝试使用pprint打印很好,但没有起作用:

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

我只想要一个标识符(\ t),以便我得到这样的东西:

  key1 
value1
value2
key2
value1
value2

等。



我该怎么做?

解决方案

确定您希望格式如何,但您可以从这样开始:

  def pretty(d, indent = 0):
为键,d.iteritems()中的值:
print'\t'* indent + str(key)
如果isinstance(value,dict):
pretty(value,indent + 1)
else:
print'\t'*(indent + 1)+ str(value)
/ pre>

How can I pretty print a dictionary with depth of ~4 in Python? I tried pretty printing with pprint but it did not work:

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

I simply want an identation ("\t") for each nesting, so that I get something like this:

key1
    value1
    value2
    key2
       value1
       value2

etc.

how can I do this?

解决方案

I'm not sure how exactly you want the formatting to look like, but you could start with a function like this:

def pretty(d, indent=0):
   for key, value in d.iteritems():
      print '\t' * indent + str(key)
      if isinstance(value, dict):
         pretty(value, indent+1)
      else:
         print '\t' * (indent+1) + str(value)

这篇关于漂亮的打印嵌套字典在Python?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆