16 lines
484 B
Python
16 lines
484 B
Python
from benedict.utils import type_util
|
|
|
|
|
|
def groupby(items, key):
|
|
if not type_util.is_list(items):
|
|
raise ValueError("items should be a list of dicts.")
|
|
items_grouped = {}
|
|
for item in items:
|
|
if not type_util.is_dict(item):
|
|
raise ValueError("item should be a dict.")
|
|
group = item.get(key)
|
|
if group not in items_grouped:
|
|
items_grouped[group] = []
|
|
items_grouped[group].append(item.copy())
|
|
return items_grouped
|