如何在类型提示中指定 dict_values?

How to specify dict_values in type hints?

我的函数从字典中获取值。下面的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?

您可以使用 ValuesView 进行类型提示:

from typing import ValuesView

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

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