如何判断变量是否是特定类型的字典?即dict(int,str)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断变量是否是特定类型的字典?即dict(int,str)相关的知识,希望对你有一定的参考价值。
我有一本字典 -
d = dict(
0='a',
1='b',
2='c'
)
如何判断d
是dict
类型的(int, str)
?
在C#中它是这样的:
d.GetType() == typeof(Dictionary<int, string>)
答案
Python词典没有类型。你必须检查每个键和值对。例如。
all(isinstance(x, basestring) and isinstance(y, int) for x, y in d.items())
另一答案
在单个Python字典中,值可以是任意类型。密钥还有一个额外要求,即它们必须是可清洗的,但它们也可能包含多种类型。
要检查字典中的键或值是否为特定类型,您可以迭代它们。例如:
values_all_str = all(isinstance(x, str) for x in d.values())
keys_all_int = all(isinstance(x, int) for x in d)
另一答案
如果您使用的是Python 3.7,则可以执行以下操作:
from typing import Dict
d: Dict[int, str] = { 0: 'a', 1: 'b', 2: 'c' }
print(__annotations__['d'])
并回来:typing.Dict[int, str]
有一个函数typings.get_type_hints
可能在将来有用,但目前只知道类型的对象:
功能,方法,模块或类
PEP-0526还说要做些什么
以上是关于如何判断变量是否是特定类型的字典?即dict(int,str)的主要内容,如果未能解决你的问题,请参考以下文章