为了账号安全,请及时绑定邮箱和手机立即绑定

如何打印嵌套词典?

如何打印嵌套词典?

至尊宝的传说 2019-08-26 11:05:18
如何打印嵌套词典?如何在Python中打印深度为~4的字典呢?我尝试使用漂亮的打印pprint(),但它不起作用:import pprint  pp = pprint.PrettyPrinter(indent=4)pp.pprint(mydict)我只是希望"\t"每个嵌套都有一个缩进(),这样我得到这样的东西:key1     value1     value2     key2        value1        value2等等我怎样才能做到这一点?
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

我不确定你想要格式化的样子,但你可以从这样的函数开始:

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))


查看完整回答
反对 回复 2019-08-26
?
心有法竹

TA贡献1866条经验 获得超5个赞

通过这种方式,你可以用漂亮的方式打印它,例如你的字典名称是yasin

import json
print (json.dumps(yasin, indent=2))


查看完整回答
反对 回复 2019-08-26
?
慕斯709654

TA贡献1840条经验 获得超5个赞

噘嘴可以打印任何你扔的东西,例如(借用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的作者和维护者。


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 557 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信