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

numpy数组切片后能否将对应位置赋值为等长的另一numpy数组

numpy数组切片赋值可行性说明

这个写法是否可以正常运行,核心取决于两个维度匹配条件是否满足:

  • valid_subset_indices的长度必须和numpy_arr_B的第三维度长度完全相等
  • numpy_arr_B的前两个维度的尺寸必须和numpy_arr_A的前两个维度完全一致,也就是numpy_arr_B.shape == (A.shape[0], A.shape[1], len(valid_subset_indices))

只要满足以上两个条件,赋值操作就可以正常执行:numpy会自动把numpy_arr_B的每一个元素,对应写入numpy_arr_A第三维度被valid_subset_indices选中的位置,其余未被选中的位置会保留初始化的0值。

举个可运行的示例参考:

import numpy as np
# 模拟场景参数
A = np.ones((2, 3))
some_valid_length = 5
valid_subset_indices = [0, 2, 4]
numpy_arr_B = np.ones((2, 3, 3))

# 初始化目标数组
numpy_arr_A = np.zeros((A.shape[0], A.shape[1], some_valid_length))
# 切片赋值操作
numpy_arr_A[:, :, valid_subset_indices] = numpy_arr_B

如果维度不匹配,会直接抛出ValueError。比如numpy_arr_B第三维度长度和valid_subset_indices长度不一致,或者前两维度和numpy_arr_A前两维度不匹配,都会触发报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:06:01