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

Python字典转np.array后按键取值报IndexError的解决方法

问题原因

你直接把字典传入np.array()时,生成的是0维numpy数组,数组内部存储的是完整的字典对象,不是支持按键索引的numpy结构化数组,因此直接用test['a']索引不符合普通numpy数组的索引规则,会抛出你遇到的IndexError。

解决方案

方案1:不修改创建逻辑,直接取值

如果你不想调整数组创建代码,先提取出numpy数组里存储的字典对象,再按键取值即可:

# 取出0维数组内的字典元素,再取键对应的值
test.item()['a']

运行后即可得到目标值1。

方案2:创建支持按键索引的结构化数组

如果需要直接通过test['a']的形式取值,创建数组时指定对应字段的dtype即可:

# 创建字段名为a的numpy结构化数组
test = np.array((1,), dtype=[('a', int)])
# 直接按键取值
test['a']

运行后同样可以得到目标值1。

内容的提问来源于stack exchange,提问作者이승훈

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:54:00