Python 'IF' 后第二个语句无效

0 投票
1 回答
840 浏览
提问于 2025-04-17 22:19

我正在尝试遍历一个字典,并对每个键调用一个函数。

如果这个函数对某个键的返回值不是None,我想把这个返回值添加到一个列表中,同时也想把这个键添加到另一个列表中。

这是我的代码:

    output_list = []
    key_list =[]

    for i in dict.keys():
        if obj.method(i):
            output_list.append(obj.method(i))
            key_list.append(i)

    return output_list
    return key_list

但是,不知道为什么第二个列表key_list从来没有被填充 - 是不是在if语句下面不能有两个操作?

我这样做的原因是,我想最终得到一个输出,显示字典的每个键和它对应的函数输出,只要这个输出不是None

1 个回答

1

key_list正在被填充,但你在一个函数里只能返回一次。

不过,你可以返回一个包含多个结果的元组,这样就能返回多个变量。把:

return output_list
return key_list

改成

return output_list, key_list

然后在调用的代码中这样做:

output_list, key_list = my_function(...)

撰写回答