Python iteration exclude type not bool, float, int or not NoneType (TypeError: 'NoneType' object is not iterable)

Python iteration exclude type not bool, float, int or not NoneType (TypeError: 'NoneType' object is not iterable)

我正在尝试迭代 JSON 文件及其元素。问题是,如果第一次迭代(元素)的值是 bool/float/int 或 NoneType.

类型,则会抛出错误消息

这是我的尝试(它适用于 bool、float 和 int,但抛出 TypeError:'NoneType' object is not iterable):

for element in json:
    if type(element) != bool \
                    and type(element) != float \
                    and type(element) != int \
                    and type(element) is not None:
    for value in json[element]:
        print(value)

是否还有一种方法可以缩短 Python 中的代码?

在 Python 中,通常只执行它并处理任何异常。

for element in json:
    try:
        for value in element:
            print(value)
    except TypeError:
        pass

此外,您确定要迭代 json[element] 还是要在内部 for 循环中迭代 element