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

Python中dict泛型类型标注报错:'type' object is not subscriptable

解决dict[str, np.ndarray]类型标注的TypeError问题

你遇到的'type' object is not subscriptable错误,和字典能不能存numpy数组完全没关系——字典本来就可以正常存储numpy数组,问题出在类型标注的语法兼容上:

  • 如果你用的是Python 3.9及以上版本:直接用dict[str, np.ndarray]是合法的,检查下是不是代码里不小心把dict当成变量名用了,导致它不再指向内置的字典类型。
  • 如果你用的是Python 3.8及更早版本:Python原生的dict类型不支持下标式的泛型标注,得从typing模块导入Dict来用。

举两个正确的写法例子:

Python 3.8及以下版本写法

from typing import Dict
import numpy as np

def processing_stitch_visual_outputs(visuals: Dict[str, np.ndarray]) -> None:
    # 你的函数逻辑
    pass

Python 3.9+版本写法

import numpy as np

def processing_stitch_visual_outputs(visuals: dict[str, np.ndarray]) -> None:
    # 你的函数逻辑
    pass

另外再确认下,字典存numpy数组是完全没问题的,比如下面这段代码完全可以正常运行:

import numpy as np
test_dict = {"img1": np.random.rand(256,256), "img2": np.zeros((100,100))}

内容的提问来源于stack exchange,提问作者Hector Edu Nseng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:31:11