Заставить mypy распознавать кортеж определенной длиныPython

Программы на Python
Anonymous
Заставить mypy распознавать кортеж определенной длины

Сообщение Anonymous »

Mypy вызывает следующую ошибку:

Несовместимый тип возвращаемого значения (получено «tuple[int | None, ...]», ожидается «tuple[int | None, int | None, int | None, int | None, int | None, int | None, int | None]») [возвращаемое значение]

Я предполагаю, что это потому, что mypy не распознает количество элементов в списке перед преобразованием в кортеж. Есть ли способ заставить mypy правильно видеть этот кортеж (а не просто добавлять игнор)?

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

T_day = int | None
T_week = tuple[T_day, T_day, T_day, T_day, T_day, T_day, T_day]

def shift_week(dayofweek: int, week: T_week) -> T_week:
week_shifted: list[T_day] = []
week_shifted.extend(week[dayofweek:])
week_shifted.extend(week[:dayofweek])
return tuple(week_shifted)  # 

Подробнее здесь: [url]https://stackoverflow.com/questions/79882151/getting-mypy-to-recognize-tuple-of-certain-length[/url]

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