Python 使用多个键值类型键入Dict
我有一个python函数,它返回一个具有以下结构的字典Python 使用多个键值类型键入Dict,python,python-3.x,type-hinting,typing,Python,Python 3.x,Type Hinting,Typing,我有一个python函数,它返回一个具有以下结构的字典 { (int, int): {string: {string: int, string: float}} } 我想知道如何用类型提示来指定它。因此,以下几点是明确的: Dict[Tuple[int, int], Dict[str, Dict[str, # what comes here]] 但是,内部字典有两个键的int和float值类型。我不知道如何注释您应该能够使用: 联合型联合[X,Y]表示X或Y 也就是说,如果键总是相同的
{
(int, int): {string: {string: int, string: float}}
}
我想知道如何用类型提示来指定它。因此,以下几点是明确的:
Dict[Tuple[int, int], Dict[str, Dict[str, # what comes here]]
但是,内部字典有两个键的int
和float
值类型。我不知道如何注释您应该能够使用:
联合型<代码>联合[X,Y]表示X或Y
也就是说,如果键总是相同的话,最好使用
元组或命名元组来代替内部的dict
。据我所知,唯一正确的方法是使用typedct。你们看了吗?固定键重复:这里的并集意味着所有字段都接受int和float。如果区分哪些键接受int和哪些键接受float很重要,那么这就太笼统了。不过,OP在他的作品中没有做出那样的区分question@Karl对。在这种情况下,您的TypedDict
建议更有意义。我将调查此TypedDict
认为Dict的结构是固定的
from typing import Union
Dict[Tuple[int, int], Dict[str, Dict[str, Union[int, float]]]