Python中如何将空列表作为参数传递?附示例代码
问题根因
- 列表内置
index()方法的特性:当要查找的元素不在列表中时,会直接抛出ValueError异常,不会返回负数,所以原代码的else分支永远无法触发,空列表调用index()时会直接报错 - 命名冲突:使用
list作为变量名,覆盖了Python内置的list类型,属于不规范的命名习惯,可能引发后续的未知错误 - 补充:原代码调用
checkValue后没有接收/打印返回值,运行后看不到判断结果
修复方案
改用in运算符判断元素是否存在,该运算符不需要处理异常,元素存在返回True,不存在返回False,空列表场景下也能正常运行。
修正后完整代码
def checkValue(target_list, n): return n in target_list num_list = [] n = int(input("Enter range: ")) for i in range(n): value = int(input("Enter number: ")) num_list.append(value) a = int(input("Enter checked value: ")) # 打印判断结果 print(checkValue(num_list, a))
内容的提问来源于stack exchange,提问作者Jermaine Tran
相关产品推荐
相关产品推荐

