PYTHON

Efficiently Grouping Items by Key Using defaultdict

Learn how to group a list of dictionaries or objects by a common key using Python's collections.defaultdict for clean and efficient data organization.

from collections import defaultdict

data = [
    {"category": "fruits", "item": "apple"},
    {"category": "vegetables", "item": "carrot"},
    {"category": "fruits", "item": "banana"},
    {"category": "dairy", "item": "milk"},
    {"category": "vegetables", "item": "broccoli"},
]

grouped_data = defaultdict(list)
for item in data:
    grouped_data[item["category"]].append(item["item"])

print(dict(grouped_data))
# Expected output: {'fruits': ['apple', 'banana'], 'vegetables': ['carrot', 'broccoli'], 'dairy': ['milk']}
How it works: This snippet demonstrates `collections.defaultdict` to group items. When a key is accessed for the first time, `defaultdict(list)` automatically initializes an empty list, allowing direct appending without explicit key checking, making the grouping logic concise and efficient.

Need help integrating this into your project?

Our team of expert developers can help you build your custom application from scratch.

Hire DigitalCodeLabs