Как указать dict_values ​​в подсказках типа? - PullRequest
0 голосов
/ 19 сентября 2019

Моя функция получает значения из словаря.Следующее MWE должно произвести впечатление:

def f(x):
    print([y for y in x])

f({'a': 0, 'b': 1}.values()) #prints [0, 1]

Тип x не dict или list, а dict_values.Однако def f(x: dict_values): дает NameError: name 'dict_values' is not defined.

Итак, как указать dict_values ​​в подсказках типа?

1 Ответ

1 голос
/ 19 сентября 2019

Вы можете сделать подсказку типа с помощью ValuesView:

from collections.abc import ValuesView

print(isinstance(dict(a=3).values(), ValuesView))

def f(x: ValuesView):
    print([y for y in x])
...