检查类型是否为字典

时间:2019-05-16 11:23:37

标签: python dictionary

如何检查变量是否为python字典?

for k,v in dict.items():
    if type(v)==dict:
        print('This is a dictionary')

此代码不起作用

编辑:

已解决。类型(v)正在工作。我在字典中使用名称“ dict”时出错。

3 个答案:

答案 0 :(得分:1)

要正确检查v是否是dict的实例,可以使用isinstance

for k,v in your_dict.items():
    if isinstance(v, dict):
        print('This is a dictionary')

注意:将变量名'dict'更改为其他名称,因为您要掩盖自定义名称

答案 1 :(得分:1)

首先,请勿将变量命名为python关键字,因此请勿使用dict作为python变量名称,因为它已替换python内置关键字dict。而是使用类似my_dict

您应该考虑使用isinstance而不是type来检查变量是否是字典

摘自type的文档:

  

建议使用isinstance()内置函数来测试对象的类型,因为它考虑了子类。

此外,由于您仅使用值,因此请考虑仅使用my_dict.values()

对它们进行迭代
for v in my_dict.values():
    if isinstance(v, dict):
        print('This is a dictionary')

答案 2 :(得分:0)

使用isinstance(object, classinfo)胜过检查type(object) == classinfo

for k,v in dict.items():
    print(isinstance(v, dict))