Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用多个键值类型键入Dict_Python_Python 3.x_Type Hinting_Typing - Fatal编程技术网

Python 使用多个键值类型键入Dict

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 也就是说,如果键总是相同的

我有一个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


也就是说,如果键总是相同的话,最好使用
元组或
命名元组来代替内部的
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]]]