You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:33:15