如何在类型提示中指定 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])
我的函数从字典中获取值。下面的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])