Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表和词典列表中提取所有词典?_Python_List_Dictionary - Fatal编程技术网

Python 从列表和词典列表中提取所有词典?

Python 从列表和词典列表中提取所有词典?,python,list,dictionary,Python,List,Dictionary,我有一个包含其他列表和字典的列表。所有列表都可以包含列表或词典。但是,字典不能包含列表。例如,这样的“主列表”可能如下所示: [ [ [ { 'A': 'B' }, { 'C': 'D' } ], { 'E': 'F' } ], { 'G': 'H' } ] 如何从这样的列表中提取所有词典?结果应该是: { 'A': 'B' } { 'C': 'D' } { 'E': 'F' } { 'G': 'H' } 使用: “然而,字典不能包含列表”。然而你有这样一个怪物:'E':[[[[{'F

我有一个包含其他列表和字典的列表。所有列表都可以包含列表或词典。但是,字典不能包含列表。例如,这样的“主列表”可能如下所示:

[ [ [ { 'A': 'B' }, { 'C': 'D' } ], { 'E': 'F' } ], { 'G': 'H' } ]
如何从这样的列表中提取所有词典?结果应该是:

{ 'A': 'B' }

{ 'C': 'D' }

{ 'E': 'F' }

{ 'G': 'H' }
使用:


“然而,字典不能包含列表”。然而你有这样一个怪物:
'E':[[[[{'F':'G','H':'I'},{'J':'K'}],{'L':'M'}],{'N':'O'}]
。这是一个例外,因为它是第五个元素吗?我投票结束这个问题,因为问题陈述自相矛盾。此外,还没有尝试想出解决方案。这确实解决了问题,谢谢。
def get_dictionaries(list_obj):
    for item in list_obj:
        if type(item) == list:
            for x in get_dictionaries(item):
                yield x
        elif type(item) == dict:
            yield item
        else:
            raise ValueError("unexpected item type (not a list or a dictionary)")
top_level_list = [{......
for x in get_dictionaries(top_level_list):
    print x