from collections import defaultdict
def group_by_key(records, key):
grouped = defaultdict(list)
for record in records:
grouped[record[key]].append(record)
return grouped
records = [{"name": "Alice", "age": 25, "city": "New York"},
{"name": "Bob", "age": 30, "city": "London"},
{"name": "Charlie", "age": 25, "city": "New York"}]
grouped_by_city = group_by_key(records, "city")
print(grouped_by_city)
Result
defaultdict(<class 'list'>,
{'London': [{'age': 30, 'city': 'London', 'name': 'Bob'}],
'New York': [{'age': 25, 'city': 'New York', 'name': 'Alice'},
{'age': 25, 'city': 'New York', 'name': 'Charlie'}]})