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

如何在单个循环内实现数组递增?无需嵌套第二个循环

解决方案

首先,你的现有代码中t是二维数组(形状为(7,1)),执行i * t会对数组内每个元素做乘法,因此每次输出的是一个7行1列的数组,不符合你要的单值序列需求。

根据你给出的期望序列0,31,62,93...,这里提供针对性实现方式:

import numpy as np

t = np.array([[30],[31],[31],[31],[28],[31],[31]])
n = 7
# 提取序列基准值(这里取t中索引为1的31)
for i in range(0, n):
    print(i * t[1][0], end=',')

输出结果:0,31,62,93,124,155,186,

如果你的真实需求是计算各月末的累计天数(从0开始依次累加每个月的天数),可以用numpy的cumsum函数实现,无需额外循环:

import numpy as np

t = np.array([[30],[31],[31],[31],[28],[31],[31]])
# 将二维数组转为一维方便计算
t_flat = t.flatten()
# 生成包含初始0的累计序列
cumulative_days = np.concatenate([[0], np.cumsum(t_flat)])
# 遍历输出
for day in cumulative_days:
    print(day, end=',')

输出结果:0,30,61,92,123,151,182,213,

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:10:23