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

2024-04-24 00:13:49 发布

您现在位置:Python中文网/ 问答频道 /正文

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

[ [ [ { 'A': 'B' }, { 'C': 'D' } ], { 'E': 'F' } ], { 'G': 'H' } ]

如何从这样一个列表中提取所有词典?结果应该是:

{ 'A': 'B' }

{ 'C': 'D' }

{ 'E': 'F' }

{ 'G': 'H' }

Tags: 列表字典词典
1条回答
网友
1楼 · 发布于 2024-04-24 00:13:49
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

相关问题 更多 >