Type hint for a dict gives TypeError: 'type' object is not subscriptable

Type hint for a dict gives TypeError: 'type' object is not subscriptable

memo: dict[int, int] = {0: 0, 1: 1} # *our base cases*

returns 出现以下错误:

TypeError: 'type' object is not subscriptable

我想你应该使用 Dict,例如:

from typing import Dict

memo: Dict[int, int] = {0: 0, 1: 1}

在你的例子中,你使用的是 dict 类型 type

>>> type(dict)
<class 'type'>
>>> type(Dict)
<class 'typing._GenericAlias'>

您可以这样做:

from typing import Dict
mydict = Dict[int, int]

mydict = {0: 0, 1: 1} 

结果:

>>>mydict
{0: 0, 1: 1}

如果这是你想要的。