在递归循环中追加到列表

Cas*_*sey 4 python recursion

我正在尝试创建一个递归函数,它接受一个JSON字典并将任何带有键名'rate'的值存储到列表中.然后,我将获取该列表并找到最低值.我的代码现在看起来像这样,但是在列表中生成多个空列表.

def recurse_keys(df):
    rates = []
    for key, value in df.items():
        if key == 'rate':
            rates.append(value)
        if isinstance(df[key], dict):
            recurse_keys(df[key])
Run Code Online (Sandbox Code Playgroud)

Fab*_*tor 13

您需要组合递归的结果,并将其返回:

def recurse_keys(df):
    rates = []
    for key, value in df.items():
        if key == 'rate':
            rates.append(value)
        if isinstance(df[key], dict):
            rates += recurse_keys(df[key])
    return rates
Run Code Online (Sandbox Code Playgroud)