Python代码报错:return outside function,求提取列表偶数元素的正确代码
问题解决:提取列表中的偶数元素
报错原因
SyntaxError: 'return' outside function 错误的核心原因是:return语句仅允许在函数内部使用,你当前的代码将return直接写在全局作用域的for循环中,违反了Python语法规则。另外,即便return能在这里生效,它也会在找到第一个偶数后立即终止程序,无法完成“提取所有偶数”的需求。
正确代码实现
方式1:修正原代码(移除错误的return)
直接删除循环内的return b,让循环完整遍历列表所有元素:
a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] b = [] for i in a: if i % 2 == 0: b.append(i) print(b)
方式2:使用列表推导式(更简洁高效)
Python提供了列表推导式语法,能一行完成元素筛选,代码更简洁:
a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] b = [i for i in a if i % 2 == 0] print(b)
方式3:封装为可复用函数
如果需要多次使用“提取偶数”的逻辑,可以将代码封装为函数,此时就能合法使用return语句:
def extract_even_numbers(input_list): even_numbers = [] for num in input_list: if num % 2 == 0: even_numbers.append(num) return even_numbers a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] b = extract_even_numbers(a) print(b)
内容的提问来源于stack exchange,提问作者Daniil Kiselev
相关产品推荐
相关产品推荐

