【发布时间】:2020-08-29 07:39:32
【问题描述】:
我最近和 mypy 吵了一架。假设我有一个变量,它可以是字典或列表(此处为 self.my_list)。稍后,在一个函数中(这里:get),我想访问这个列表或字典中的一个值。
from typing import Union, Any
class my_class:
def __init__(self, whatever: Union[list, dict]):
self.my_list: Union[list, dict] = whatever
def get(self, key: Union[int, str]) -> Any:
return self.my_list[key]
对于我尝试访问 my_list 中的值的行,Mypy 给了我以下错误:
Invalid index type "Union[int, str]" for "Union[List[Any], Dict[Any, Any]]"; expected type "int"
- 有人知道如何处理此错误吗?
- 从一开始就有一个可以是 dict 或列表的变量是不是很糟糕?
【问题讨论】:
标签: python list key type-hinting mypy