У меня есть список словарей:
list_dicts = [{'d_id': 917, 'desc': 'ADDDAAAA', 'b_id': 223, 'ben': 'BBXXBB'},
{'d_id': 918, 'desc': 'CCCDEEC', 'b_id': 226, 'ben': 'DCCD'},
{'d_id': 923, 'desc': 'EEEEDC', 'b_id': 223, 'ben': 'BBXXBB'},
{'d_id': 945, 'desc': 'YTHSS', 'b_id': 226, 'ben': 'DCCD'}]
Этот list_dicts
довольно большой и содержит более ок. 500 словарей. Я хочу сгруппировать этот список словарей, используя b_id, в такой формат:
new_list = [
{'b_id': 223, 'ben': 'BBXXBB', 'items': [{'d_id': 917, 'desc': 'ADDDAAAA'},
{'d_id': 923, 'desc': 'EEEEDC'}],
{'b_id': 226, 'ben': 'DCCD', 'items': [{'d_id': 918, 'desc': 'CCCDEEC'},
{'d_id': 945, 'desc': 'YTHSS'}]
]
Здесь ключ ben
одинаков для того же b_id
. Новый список словарей должен быть создан с ключом items
, который содержит d_id
и desc
с тем же b_id
.
Я проверил другие вопросы, используя групповую обработку и фильтр, но не смог получить указанный формат. Пожалуйста, предложите подходящий и оптимизированный метод для группировки в указанном формате.
Заранее спасибо.