Группировка элементов по ключу
Python
Middle
Авито
01.01.2025
Напишите функцию `group_by_key(items: list[dict], key: str) -> dict`, которая группирует список словарей по значению указанного ключа.
**Пример:**
```python
items = [
{"type": "A", "value": 1},
{"type": "B", "value": 2},
{"type": "A", "value": 3},
]
# group_by_key(items, "type") ->
{
"A": [{"type": "A", "value": 1}, {"type": "A", "value": 3}],
"B": [{"type": "B", "value": 2}]
}
```
Ответы
Решение 1
```python
from collections import defaultdict
from typing import List, Dict, Any
def group_by_key(items: List[Dict[str, Any]], key: str) -> Dict[Any, List[Dict[str, Any]]]:
grouped: defaultdict[Any, List[Dict[str, Any]]] = defaultdict(list)
for item in items:
grouped[item[key]].append(item)
return dict(grouped)
```