Введите подсказку для итерации, не являющейся генератором (непотребляемой)Python

Программы на Python
Ответить
Anonymous
 Введите подсказку для итерации, не являющейся генератором (непотребляемой)

Сообщение Anonymous »

Я хотел бы ввести подсказку для такой функции:

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

from types import Iterable

def func(thing: Iterable[str]) -> None:
for i in range(10):
for x in thing:
do_thing(x)
PyCharm (правильно) позволит мне передать генератор в эту функцию, но я хочу ввести подсказку таким образом, чтобы она не позволила мне это сделать, пока все еще принятие других итераций.
Использование Sequence[str] не является вариантом, итерации, такие как KeyView, не являются последовательностями, но мне все равно хотелось бы иметь возможность их включать.
Кто-то упомянул об использовании Union с Sequence + KeyView, и это сработает, но мне было интересно, есть ли более элегантное и универсальное решениеКонечно, я мог бы просто преобразовать объект в список несмотря ни на что, но я бы предпочел, чтобы этот тип функции был правильно указан.
Использование Python 3.7

Подробнее здесь: https://stackoverflow.com/questions/497 ... e-iterable
Ответить

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

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

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

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

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