我有一个包含其他列表和词典的列表。所有列表都可以包含列表或词典。但是,词典不能包含列表。例如,这样的“主列表”可能如下所示:
[ [ [ { 'A': 'B' }, { 'C': 'D' } ], { 'E': 'F' } ], { 'G': 'H' } ]
如何从这样的列表中提取所有词典?结果应该是:
{ 'A': 'B' }
{ 'C': 'D' }
{ 'E': 'F' }
{ 'G': 'H' }
答案 0 :(得分:1)
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