繁体   English   中英

如何返回递归函数的值

[英]How to return the value of a recursive function

我有递归函数,它会走嵌套的字典并返回所需键的值:

def recurs(l):
    for key in l.keys():
        if key == '_events':
            return l[key]
        else:
            recurs(l[key])

c=recurs(d)
print c

我如何获得这些价值?

获得扁平化迭代器的最简单方法是编写生成器函数:

def recurs(l):
    for key in l.keys():
        if key == '_events':
            yield l[key]
        else:
            for x in recurs(l[key]):
                yield x

只需return

def recurs(l):
    for key in l.keys():
        if key == '_events':
            return l[key]
        else:
            return recurs(l[key])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM