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

如何从函数返回numpy数组?解决追加后返回空数组的问题

numpy数组追加后无法保留更新的解决方法

你的问题核心在于两个关键点:

  • np.append()不会原地修改原数组,它会创建并返回一个包含新元素的新数组
  • 调用函数时,你没把函数返回的新数组重新赋值给外部的arr变量,导致外部的arr一直停留在初始的空数组状态

只需要修改调用函数的那一行,把返回的新数组赋值给外部的arr即可:

import numpy as np

arr = np.zeros(0) # 初始化空数组

def append_to_array(arr, value):
    arr = np.append(arr, value) # 生成并返回新数组
    print(arr) # 打印当前追加后的数组
    return arr

inputs = True
while inputs:
    value = input("Enter the next number to be added to the array, 'Done' to stop the loop: ")
    if value == "Done":
        inputs = False
    else:
        # 关键改动:将函数返回的新数组赋值给外部的arr
        arr = append_to_array(arr, float(value))
# 原代码print(value)会打印"Done",改为打印最终数组更合理
print(arr)

补充说明

函数内部的arr是局部变量,当你执行arr = np.append(arr, value)时,只是让这个局部变量指向了新生成的数组,外部的全局arr并不会自动同步。只有通过arr = append_to_array(...)把返回的新数组重新赋值给全局arr,才能让外部的数组得到更新,后续的追加操作也能基于更新后的数组继续执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:02:35