簡體   English   中英

在Dict []中指示類型提示的多個值

[英]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請求值為ListSet

from typing import Dict, List, Set, Union

def f(a: Dict[str, Union[List, Set]]):
    pass

當然,這並不理想,因為我們丟失了大量關於哪些鍵需要具有哪些類型值的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM