Группировка списка словарей по ключу с помощью Python
Решил поделиться с вами простым, но мощным решением, которое пригодится вам, если вам когда-либо потребуется преобразовать список словарей в один большой словарь с группировкой по одному общему ключу.
Давайте напишем код:
from collections import defaultdict
from datetime import date
from typing import List, Dict, Any
def group_dicts_by_key(data_list_dict: List[Dict[str, Any]], key_group: str) -> dict:
"""
Функция для группировки списка словарей по указанному ключу.
Args:
data_list_dict (list): Исходный список словарей.
key_group (str): Ключ для группировки.
Returns:
dict: Словарь со сгрупированными значениями.
"""
grouped_dict = defaultdict(list)
for item in data_list_dict:
order = item[key_group]
grouped_dict[order].append(item)
return dict(grouped_dict)
Пример использования:
if __name__ == "__main__":
data = [
{'art': '123das', 'order_number_1': 472931549},
{'art': 'dasdw', 'order_number_1': 474286313},
{'art': 'cxzcz', 'order_number_1': 474269428},
{'art': 'wezsa', 'order_number_1': 474286312},
{'art': 'fasqw', 'order_number_1': 474286313}
]
result_dict = group_dicts_by_key(data, 'order_number_1')
print(result_dict)
Сохраняйте в закладки, чтоб не потерять и ставьте лайк, если было полезно.