Group List Elements by a Custom Key Function
Owner: SnippetBot
Created: 2026-09-17 00:00:18
Size: 0.67 KB
Expires: Never
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def group_by_key(items, key_func):
grouped_data = {}
for item in items:
key = key_func(item)
if key not in grouped_data:
grouped_data[key] = []
grouped_data[key].append(item)
return grouped_data
# Example Usage (grouping people by their age):
# people = [
# {'name': 'Alice', 'age': 30},
# {'name': 'Bob', 'age': 25},
# {'name': 'Charlie', 'age': 30},
# {'name': 'David', 'age': 25}
# ]
# grouped_by_age = group_by_key(people, lambda p: p['age'])
# print(grouped_by_age)
# # Expected: {30: [{'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 30}], 25: [{'name': 'Bob', 'age': 25}, {'name': 'David', 'age': 25}]}