以漂亮的格式打印字典键的简洁方法

pan*_*ita 6 python dictionary

我想获得字典中所有键(可能还有子键)的良好输出。因此我写道:

print("The keys in this dictionary are:\n")
for k in mydict.keys():
    print(k)
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是有没有更简洁的方法来做到这一点?我尝试了列表理解,但是这当然会返回一个我无法与 may 介绍字符串连接的列表。有什么可以使用的功能吗?

编辑:字典可能是这样的:

mydict = {'key1':'value1',
          'key2':{'subkey1':'subvalue1','subkey2':'subvalue2'}}
Run Code Online (Sandbox Code Playgroud)

我对“漂亮的格式”的含义持开放态度。但是,也许是这样的:

key1
key2: subkey1, subkey2
Run Code Online (Sandbox Code Playgroud)

jai*_*ime 5

def dump_keys(d, lvl=0):
    for k, v in d.iteritems():
        print '%s%s' % (lvl * ' ', k)
        if type(v) == dict:
            dump_keys(v, lvl+1)

mydict = {'key1':'value1',
          'key2':{'subkey1':'subvalue1',
                  'subkey2':'subvalue2',
                  'subkey3': {'subsubkey1' : 'subsubkeyval1'}}}

dump_keys(mydict)
Run Code Online (Sandbox Code Playgroud)