如何判断变量是否是特定类型的字典?即dict(int,str)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断变量是否是特定类型的字典?即dict(int,str)相关的知识,希望对你有一定的参考价值。

我有一本字典 -

d = dict(
    0='a',
    1='b',
    2='c'
)

如何判断ddict类型的(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)的主要内容,如果未能解决你的问题,请参考以下文章

python通过字典dict判断指定键值是否存在

如何创建字典和给字典赋值

python中判断变量的类型

我的python为啥dict没有isnull方法?

python中判断字典中是否存在某个键

字典(DICT)