漂亮的打印嵌套字典,有限制

时间:2016-05-01 21:33:46

标签: python dictionary recursion printing pretty-print

加强这个question,我得到了:

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

打印梦想直到打印出原始键的一定数量的值。例如,没有限制:

1
5299
    1
1229
    1
2068
    1
7223
    1

但是当steps = 2时,它会打印出来:

1
5299
    1
1229
    1

它的梦想未实现的原因是c不是一个静态变量(就像在C中做的那样,我试过static c = 0并得到语法错误),因此每次调用递归,c再次创建,它不记得它以前的值。

如何用Python做到这一点?

0 个答案:

没有答案