У меня есть список словарей, в которых мало кто может быть вложен. Я хочу сделать его плоским списком словарей.
Здесь Message - это список словарей с ключом «Message_content».
Я хотел бы вывести «Message_content» в случае, если он содержит ключевое сообщение.
Вложение может быть любым уровнем. Я имею в виду «MESSAGE_CONTENT» может снова содержать «Message», хотя пример, показанный здесь, на одном уровне
вводаПреобразование списка вложенных словарей в плоский список словарей
Message = [
{'Message_content': {'Argument': [{'Arg_name': 'acl_name'}, {'Arg_name': 'acl_type'}],
'Message': {'Message_content': {'Argument': [{'Arg_name': 'cat_name'}, {'Arg_name': 'cat_enum'}]}}}},
{'Message_content': {'Argument': [{'Arg_name': 'ac_name'}, {'Arg_name': 'ac_type'}]}}
]
Ожидаемый результат:
Message = [
{'Message_content': {'Argument': [{'Arg_name': 'acl_name'}, {'Arg_name': 'acl_type'}]}},
{'Message_content': {'Argument': [{'Arg_name': 'cat_name'}, {'Arg_name': 'cat_enum'}]}},
{'Message_content': {'Argument': [{'Arg_name': 'ac_name'}, {'Arg_name': 'ac_type'}]}}
]
Пробовал писать рекурсивную функцию, но не может обрабатывать гнездование.
Любая помощь будет оценена по достоинству.