【发布时间】:2021-05-04 11:11:19
【问题描述】:
我有一个小函数,我打错字了,但是我得到了一个 mypy 错误。我查了一下,发现了一些关于强制转换和添加断言的建议,但它们也无济于事。
我正在使用mypy==0.812 和 Python 3.6。有关如何解决此问题的任何提示都会有所帮助。
error: Value of type "Optional[Dict[Any, Any]]" is not indexable
这是函数:
from typing import Union
from datetime import datetime
def _get_number(my_dict: Union[dict, None], relevant_key: Union[str, None]) -> int:
if my_dict is None:
return 0
else:
# my_dict: dict = cast(dict, my_dict) # adding this didn't help with the mypy error
# assert isinstance(my_dict, dict) # adding this didn't help with the mypy error
sorted_keys = sorted(
my_dict,
key=lambda k: datetime.strptime(my_dict[k], "%H:%M").time(),
)
return sorted_keys.index(relevant_key)
【问题讨论】:
标签: python-3.x mypy static-code-analysis