Python 'IF' 后第二个语句无效
我正在尝试遍历一个字典,并对每个键调用一个函数。
如果这个函数对某个键的返回值不是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(...)