如何检查变量是否为python字典?
for k,v in dict.items():
if type(v)==dict:
print('This is a dictionary')
此代码不起作用
编辑:
已解决。类型(v)正在工作。我在字典中使用名称“ dict”时出错。
答案 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))