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

为什么调用np.sum仅返回np.array的最后一个元素而非总和?

问题原因

  • 你的random_array变量在每次循环中都被重新赋值为仅包含单个元素的新数组,前几次循环生成的随机数没有被存储,循环结束后random_array仅保留最后一次循环生成的[0.51249256]
  • np.sum是对当前传入的数组求和,单元素数组的求和结果自然就是元素本身,不是函数逻辑问题,是变量存储逻辑错误。

正确实现示例

写法1:预先生成所有随机数再求和(推荐,numpy向量化写法性能更高)

import numpy as np
import random

N=4
# 直接生成N个随机数组成的数组
random_array = np.random.random(N)
# 打印每个元素
for num in random_array:
    print([num])
# 求和
print(np.sum(random_array))

写法2:循环累加存储所有元素

import numpy as np
import random

N=4
# 初始化空列表存所有随机数
random_list = []
for i in range(N):
    num = random.random()
    random_list.append(num)
    print([num])
# 转成数组后求和
random_array = np.array(random_list)
print(np.sum(random_array))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:06:03