迭代嵌套字典的键并添加选项卡

rr007

我有一个像这样的嵌套字典 {"step1": {}, "step2": {"step3": {"step4": {}},'step7':{}}},现在我需要递归迭代嵌套字典并创建嵌套字典的键列表,并在其前面添加制表符。

new_d={"step1": {}, "step2": {"step3": {"step4": {}},'step7':{}}}
other_list=[]
child=False
tabb='\t'
def put_tabs(d):
  global tabb,child
  for k, v in d.iteritems(): 
      if v:
          if child:
              other_list.append("{0}{1}".format(tabb,k))
              tabb+='\t'      
          else:
              other_list.append("{0}".format(k))
          child=True
          put_tabs(v)
      else:
          if child:
              other_list.append("{0}{1}".format(tabb,k))

          else:
              other_list.append("{0}:".format(k))
          child=False
put_tabs(new_d)
print other_list

# Expected output ['step2', '\tstep7', '\tstep3', '\t\tstep4', 'step1:']
# current ouput ['step2', '\tstep7', 'step3', '\t\step4', 'step1:']
弘主角

这是一个函数,它将打印带有缩进的嵌套字典的键:

def indent_dict(d, indent=0):
    for key, value in d.iteritems():  # python 2
    # for key, value in d.items():    # python 3
        print("\t" * indent + str(key))
        if isinstance(value, dict):
            indent_dict(value, indent + 1)
        else:
            print("\t" * (indent + 1) + str(value))

供您输入

new_d = {"step1": {}, "step2": {"step3": {"step4": {}}, "step7": {}}}
indent_dict(new_d)

它输出:

step1
step2
    step3
        step4
    step7

(这或多或少是来自此处的xml 的缩进功能)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将添加选项卡添加到TemplateRole

来自分类Dev

动态添加选项卡,单击按钮

来自分类Dev

扩展LeftAndMain和添加选项卡

来自分类Dev

评论后添加附加选项卡

来自分类Dev

在单击按钮上添加选项卡

来自分类Dev

添加选项卡替换选项卡(Java)

来自分类Dev

添加选项卡替换选项卡(Java)

来自分类Dev

如何扩展JTabbedPane使其始终具有“添加选项卡”选项卡?

来自分类Dev

在项目/设置选项卡中添加选项卡[Redmine]

来自分类Dev

Java Swing选项卡式窗格添加选项卡异常

来自分类Dev

如何以快速方式在UITabBarController中以编程方式添加选项卡?

来自分类Dev

可以在iTunes Connect中的应用程序描述中添加选项卡空间吗?

来自分类Dev

通过添加选项卡以不同级别组织输出

来自分类Dev

如何使用Aurelia添加选项卡(或其他)UI组件

来自分类Dev

如何在窗口标题栏上添加选项卡控件

来自分类Dev

Tkinter 文本小部件向所选文本添加选项卡

来自分类Dev

Drupal 8 - 如何在用户个人资料页面中添加选项卡?

来自分类Dev

在 href 元素上添加选项卡索引导致活动类不会被停用

来自分类Dev

Bootstrap嵌套选项卡

来自分类Dev

多个嵌套选项卡

来自分类Dev

添加选项卡时,如何防止Bootstrap UI选项卡组件垂直堆叠,从而使它们溢出容器的宽度?

来自分类Dev

添加选项卡时,如何防止Bootstrap UI选项卡组件垂直堆叠,以至于它们溢出了容器的宽度?

来自分类Dev

增加选项卡布局中选项卡的宽度

来自分类Dev

单击命令按钮时,如何动态地在主视图的tabview中添加选项卡?

来自分类Dev

选项卡引导中选项卡中选项卡中的嵌套选项卡

来自分类Dev

引导程序中的嵌套选项卡

来自分类Dev

在Bootstrap选项卡中嵌套CGridView

来自分类Dev

使用Angularjs的嵌套选项卡

来自分类Dev

嵌套选项卡-Twitter Bootstrap

Related 相关文章

  1. 1

    将添加选项卡添加到TemplateRole

  2. 2

    动态添加选项卡,单击按钮

  3. 3

    扩展LeftAndMain和添加选项卡

  4. 4

    评论后添加附加选项卡

  5. 5

    在单击按钮上添加选项卡

  6. 6

    添加选项卡替换选项卡(Java)

  7. 7

    添加选项卡替换选项卡(Java)

  8. 8

    如何扩展JTabbedPane使其始终具有“添加选项卡”选项卡?

  9. 9

    在项目/设置选项卡中添加选项卡[Redmine]

  10. 10

    Java Swing选项卡式窗格添加选项卡异常

  11. 11

    如何以快速方式在UITabBarController中以编程方式添加选项卡?

  12. 12

    可以在iTunes Connect中的应用程序描述中添加选项卡空间吗?

  13. 13

    通过添加选项卡以不同级别组织输出

  14. 14

    如何使用Aurelia添加选项卡(或其他)UI组件

  15. 15

    如何在窗口标题栏上添加选项卡控件

  16. 16

    Tkinter 文本小部件向所选文本添加选项卡

  17. 17

    Drupal 8 - 如何在用户个人资料页面中添加选项卡?

  18. 18

    在 href 元素上添加选项卡索引导致活动类不会被停用

  19. 19

    Bootstrap嵌套选项卡

  20. 20

    多个嵌套选项卡

  21. 21

    添加选项卡时,如何防止Bootstrap UI选项卡组件垂直堆叠,从而使它们溢出容器的宽度?

  22. 22

    添加选项卡时,如何防止Bootstrap UI选项卡组件垂直堆叠,以至于它们溢出了容器的宽度?

  23. 23

    增加选项卡布局中选项卡的宽度

  24. 24

    单击命令按钮时,如何动态地在主视图的tabview中添加选项卡?

  25. 25

    选项卡引导中选项卡中选项卡中的嵌套选项卡

  26. 26

    引导程序中的嵌套选项卡

  27. 27

    在Bootstrap选项卡中嵌套CGridView

  28. 28

    使用Angularjs的嵌套选项卡

  29. 29

    嵌套选项卡-Twitter Bootstrap

热门标签

归档