Python中向函数传递列表:自定义处理函数无返回结果问题排查
解决你的Python函数无返回结果问题
嘿,我来帮你排查这个问题~你遇到的无返回结果情况,大概率是函数里漏掉了return语句,Python中如果函数没有显式用return返回值,默认会返回None,所以你调用后看不到预期的新列表。
先看你可能犯的典型错误
比如你写的函数可能是这样的(没加return):
def process_input_list(input_list): new_list = [] for element in input_list: if element > 97: new_list.append(100) else: new_list.append(element + 3) # 这里没有return语句,函数默认返回None
当你调用这个函数时,哪怕传入了列表,要么得到的是None,要么直接调用不打印的话,终端完全没输出。
修正后的正确代码
只需要在函数末尾添加return new_list,把处理好的新列表返回出去:
def process_input_list(input_list): new_list = [] for element in input_list: if element > 97: new_list.append(100) else: new_list.append(element + 3) # 关键:返回处理完成的新列表 return new_list # 调用示例 test_list = [95, 99, 80, 105] result = process_input_list(test_list) print(result) # 输出:[98, 100, 83, 100]
额外提醒
如果你只是直接调用函数而不打印/接收返回值,比如只写process_input_list(test_list),终端也不会显示结果。所以记得要么把返回值赋值后用print()输出,要么在需要的地方直接使用这个返回结果。
内容的提问来源于stack exchange,提问作者Mike Johnson
相关产品推荐
相关产品推荐

