代码之家  ›  专栏  ›  技术社区  ›  U13-Forward

如何检查字典是否嵌套-python

  •  1
  • U13-Forward  · 技术社区  · 6 年前

    别忘了,见下面我的自我回答。

    假设我有一本叫做 d :

    d = {'a': {1: (1,2,3), 2: (4,5,6)},'b': {1: (3,2,1), 2: (6,5,4)}}
    

    如您所见,它是一个嵌套字典,我如何检测它是否是?


    以下是一些例子:

    d = {'a':{1:(1,2,3),2:(4,5,6)},'b':{1:(3,2,1),2:(6,5,4)}}
    d = {'a':1,'b':2}
    

    我想要输出:

    True
    False
    

    P.S.字典列表不算数。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Jean-François Fabre    6 年前

    使用 any :

    print(any(isinstance(i,dict) for i in d.values()))
    

    第一本词典将返回:

    True
    

    第二种意愿:

    False
    

    解释:

    1. 去迭代槽 d 的价值观。

    2. 使用 isinstance 检查类型是否为 dict 或者没有。

    3. 使用外部 任何 检查是否有任何元素 True (是字典)。

    好了,现在开始工作了。