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

如何遍历numpy数组指定区域并为对应位置赋值

问题原因

你原有代码的错误点有两个:

  • 外层循环for w in Final_array[999:2000]:没有用到变量w,属于无效冗余循环
  • 内层循环赋值时依然使用从0开始计数的y作为行索引,会直接覆盖你已经赋值完成的前1000行y列数据,完全没有触达第1000到1999行的目标区域

最优解决方案(推荐)

numpy支持直接通过切片批量赋值,不需要写for循环,执行效率更高,代码也更简洁:

import numpy as np

# 初始化数组
Final_array = np.zeros([2000,3])
# 给前1000行y列(索引为1)赋值
Final_array[:1000, 1] = y_coords1
# 给后1000行y列赋值
Final_array[1000:, 1] = y_coords2

注意:请提前确认y_coords1和y_coords2的长度均为1000,否则会触发维度不匹配报错。

如果你坚持使用for循环实现,修改后的代码如下:

# 前1000行y列赋值(原有逻辑正确)
for y in range(len(y_coords1)):  
    Final_array[y, 1] = y_coords1[y]
# 后1000行y列赋值,行索引需要加上1000的偏移量
for y in range(len(y_coords2)):
    Final_array[1000 + y, 1] = y_coords2[y]

print(Final_array)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:15:04