[英]Indicating multiple value in a Dict[] for type hints
如何表達具有兩個不同類型值的鍵的Dict
類型? 例如:
a = {'1': [], '2': {})
以下只是為了讓您了解我在尋找什么。
Dict [(str,List),(str,Set)]
您要詢問的功能稱為“異構詞典” ,您需要為特定鍵定義特定類型的值。 正在使用字符串鍵在Type for heterogeneous dictionaries中討論該問題,該問題尚未實現且仍處於打開狀態。 目前的想法是使用所謂的TypedDict
,它允許使用如下語法:
class HeterogeneousDictionary(TypedDict):
x: List
y: Set
請注意, mypy
項目已通過“mypy extensions”(標記為實驗)提供此類型 - TypedDict
:
from mypy_extensions import TypedDict
HeterogeneousDictionary = TypedDict('HeterogeneousDictionary', {'1': List, '2': Set})
但至少,我們可以使用Union
請求值為List
或Set
:
from typing import Dict, List, Set, Union
def f(a: Dict[str, Union[List, Set]]):
pass
當然,這並不理想,因為我們丟失了大量關於哪些鍵需要具有哪些類型值的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.