如何在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)

推荐答案

您可以使用if type(ele) is dictisinstance(ele, dict),如果您创建了dict的子类,这将会起作用:

d = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for element in d.values():
    if isinstance(element, dict):
       for k, v in element.items():
           print(k,' ',v)

Python相关问答推荐

用ctype构建指针链

Pandas基于另一列的价值的新列

Django关于UniqueBindition的更新

避免循环的最佳方法

KNN分类器中的GridSearchCV

为什么基于条件的过滤会导致pandas中的空数据框架?

替换字符串中的点/逗号,以便可以将其转换为浮动

从今天起的future 12个月内使用Python迭代

Google Drive API获取文件计量数据

如何让我的Tkinter应用程序适合整个窗口,无论大小如何?

将numpy数组存储在原始二进制文件中

使用Keras的线性回归参数估计

重新匹配{ }中包含的文本,其中文本可能包含{{var}

如何从在虚拟Python环境中运行的脚本中运行需要宿主Python环境的Shell脚本?

如何获得每个组的时间戳差异?

如果条件不满足,我如何获得掩码的第一个索引并获得None?

为什么抓取的HTML与浏览器判断的元素不同?

给定高度约束的旋转角解析求解

如何根据一列的值有条件地 Select 前N组?

需要帮助重新调整python fill_between与数据点