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

Python接收数组参数的反转函数代码结构正确性咨询

你的反转数组函数问题分析与修正

当前代码存在几个不符合需求的问题:

  • 函数没有返回反转后的数组,只是循环打印了反转后的元素,所以调用print(reverse_list(arr_num))会输出None,不满足“返回反转数组”的核心需求。
  • 默认参数用arr = []是Python的常见陷阱:如果多次调用不带参数的函数,会复用同一个空列表,后续调用会出现意外结果。
  • 你直接用arr[::-1]切片反转数组,这虽然能得到反转结果,但不符合题目要求的“通过循环”实现的逻辑。

修正后的代码

# 接收数组参数、通过循环返回反转数组的函数
def reverse_list(arr=None):
    # 处理默认参数,避免可变默认参数陷阱
    if arr is None:
        arr = []
    reversed_arr = []
    # 从原数组最后一个元素开始循环遍历
    for i in range(len(arr)-1, -1, -1):
        reversed_arr.append(arr[i])
    # 返回反转后的数组
    return reversed_arr

arr_num = [1, 2, 3, 4, 5]
# 获取反转数组并打印
print(reverse_list(arr_num))  # 输出: [5, 4, 3, 2, 1]

修正说明

  • 把默认参数改为arr=None,内部判断后初始化空列表,彻底避开可变默认参数的坑。
  • 创建空列表reversed_arr,通过range生成从原数组最后一个索引到0的序列,循环逐个添加元素,完全用循环实现反转逻辑。
  • 用return返回反转后的数组,调用函数就能直接拿到目标数组,符合需求。

内容的提问来源于stack exchange,提问作者user14823524

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:36:28