检查类型是不是为字典 [重复]
Posted
技术标签:
【中文标题】检查类型是不是为字典 [重复]【英文标题】:Check if type is dictionary [duplicate]检查类型是否为字典 [重复] 【发布时间】:2019-10-03 15:59:02 【问题描述】:如何检查变量是否是python字典?
for k,v in dict.items():
if type(v)==dict:
print('This is a dictionary')
此代码无效
已编辑:
解决了。类型(v)正在工作。在我的字典中使用名称“dict”时我犯了错误。
【问题讨论】:
使用isinstance
--> if isinstance(v, dict):
【参考方案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')
【讨论】:
感谢 U。当我重命名字典时,代码开始工作。 太棒了!很高兴为@DeepSpace 提供帮助,如果对您有帮助,请考虑将我的答案标记为已接受:) 还可以考虑阅读***.com/help/someone-answers【参考方案2】:要正确检查v
是否是dict
的实例,您可以使用isinstance
:
for k,v in your_dict.items():
if isinstance(v, dict):
print('This is a dictionary')
注意:将您的变量名称 'dict'
更改为其他名称,因为您正在掩盖内置名称
【讨论】:
【参考方案3】:最好使用isinstance(object, classinfo)
而不是检查type(object) == classinfo
for k,v in dict.items():
print(isinstance(v, dict))
【讨论】:
以上是关于检查类型是不是为字典 [重复]的主要内容,如果未能解决你的问题,请参考以下文章