Несовместимые типы в назначении при создании словаря из двух списков [закрыто]Python

Программы на Python
Anonymous
Несовместимые типы в назначении при создании словаря из двух списков [закрыто]

Сообщение Anonymous »

При объединении двух списков в словарь mypy жалуется на несовместимые типы в назначении. Вот так:

Код: Выделить всё

from typing import Dict
d = Dict[str, int]

ln = ['a', 'b', 'c']
lc = [3, 5, 7]
d = dict(zip(ln, lc))
print(ln)
print(lc)
print(d)
Вывод показывает, что все работает нормально:

Код: Выделить всё

% python3 blurb.py
['a', 'b', 'c']
[3, 5, 7]
{'a': 3, 'b': 5, 'c': 7}
Но mypy показывает:

Код: Выделить всё

% mypy blurb.py
blurb.py:6: error: Cannot assign multiple types to name "d" without an explicit "Type[...]" annotation
blurb.py:6: error: Incompatible types in assignment (expression has type "Dict[str, int]", variable has type "Type[Dict[Any, Any]]")
Found 2 errors in 1 file (checked 1 source file)
Почему? В частности, вторая ошибка выглядит запутанной.

Подробнее здесь: https://stackoverflow.com/questions/637 ... -two-lists

Вернуться в «Python»