【发布时间】:2014-10-03 14:45:52
【问题描述】:
如何检查一个变量是否是 Python 中的字典?
例如,我希望它遍历字典中的值,直到找到字典。然后,遍历它找到的那个:
dict = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for k, v in dict.iteritems():
if ###check if v is a dictionary:
for k, v in v.iteritems():
print(k, ' ', v)
else:
print(k, ' ', v)
【问题讨论】:
-
还有stackoverflow.com/questions/378927/…(标记为与上述重复)。
-
不,这不是同一个问题。这个问题和这里列出的其他问题的答案都包含基本相同的信息。但是“如何检查变量是否是 python 中的字典”的答案是“使用 type() 或 isinstance()”,这会导致一个新问题,即 type() 和 isinstance() 之间的区别是什么.但是,在第一个问题得到回答之前,提出第一个问题的人不可能知道这一点。因此,不同的问题,当您在网站上寻找问题时,这很重要。
-
我同意@mbakeranalecta 我来这里是为了寻找“如何检查变量是否是 Python 中的字典?”问题的答案。而且我从来没有想过将我的答案看成“python 中 isinstance() 和 type() 之间的差异”。
-
为了检查一个变量是否特别是一个字典,你应该使用
isinstance(v, collections.abc.Mapping)。换句话说,这不是“isinstance() 和 type() 之间的差异”的完全重复。
标签: python dictionary