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

如何用一行代码将Numpy三维数组的指定元素设为1?

一行代码实现Numpy三维数组指定元素赋值

你之前的写法出错是因为:Numpy对三维数组做索引时,需要传入三个长度相同的序列,分别对应每个维度的坐标值,而你传了四个列表,维度不匹配,自然没法正确定位目标元素。

正确的一行代码写法很简单,把每个维度的目标坐标分别整理成列表即可:

import numpy as np
A = np.zeros((4, 4, 4))
A[[0, 1, 2, 3], [2, 1, 1, 0], [3, 2, 0, 3]] = 1

执行后,A[0,2,3]、A[1,1,2]、A[2,1,0]、A[3,0,3]这四个元素就都会被设为1,完全符合需求。

另外还有一种用np.put的写法,不过上面的索引方式更直观:

np.put(A, np.ravel_multi_index(([0,1,2,3], [2,1,1,0], [3,2,0,3]), A.shape), 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:34:57