Путаница в отношении вложенного секвенирования проверки типовPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Путаница в отношении вложенного секвенирования проверки типов

Сообщение Anonymous »

У меня есть код, который в минимальном примере выглядит так.

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

from ordered_set import OrderedSet
from collections.abc import Sequence

from typing import NewType, TypeAlias

SeqOverFrag: TypeAlias = Sequence
MotifIdx = NewType("MotifIdx", int)
AOIdx = NewType("AOIdx", int)

x = []
x.append({MotifIdx(1): OrderedSet([AOIdx(1), AOIdx(2)])})

y: Sequence[dict[MotifIdx, Sequence[AOIdx]]] = x
< /code>
, которая повышает ошибку < /p>
Incompatible types in assignment (expression has type "list[dict[MotifIdx, OrderedSet[AOIdx]]]", variable has type "Sequence[dict[MotifIdx, Sequence[AOIdx]]]")
Если я явно объявляю x

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

x: list[dict[MotifIdx, Sequence[AOIdx]]] = []
< /code>
или, если я инициализации его напрямую < /p>
x = [{MotifIdx(1): OrderedSet([AOIdx(1), AOIdx(2)])}]
< /code>
Затем ошибка уходит. что тип сработал (?). Это ошибка в mypy 
?


Подробнее здесь: https://stackoverflow.com/questions/793 ... -sequenced
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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