How do I chunk dicts in Python with examples?

In Python, chunking dictionaries can be useful when managing large datasets or when you want to process smaller groups at a time. Below are a few methods to achieve this.

keywords: chunking dictionaries, Python, data processing, small groups
description: This content explains how to chunk dictionaries in Python with examples, focusing on methods to facilitate data processing in smaller, manageable units.

# Method 1: Using a generator function
def chunk_dict(data, chunk_size):
    keys = list(data.keys())
    for i in range(0, len(keys), chunk_size):
        yield {k: data[k] for k in keys[i:i + chunk_size]}

# Example usage
my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
for chunk in chunk_dict(my_dict, 2):
    print(chunk)

# Output:
# {'a': 1, 'b': 2}
# {'c': 3, 'd': 4}
# {'e': 5}


# Method 2: Using list comprehension
def chunk_dict_comprehension(data, chunk_size):
    return [{k: data[k] for k in list(data)[i:i + chunk_size]} for i in range(0, len(data), chunk_size)]

# Example usage
my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
chunks = chunk_dict_comprehension(my_dict, 2)
for chunk in chunks:
    print(chunk)

# Output:
# {'a': 1, 'b': 2}
# {'c': 3, 'd': 4}
# {'e': 5}
    

keywords: chunking dictionaries Python data processing small groups