python split list into chunks code example

Example 1: python split range equally

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
        
list(chunks(range(10, 75), 10))

Example 2: split list into lists of equal length python

[lst[i:i + n] for i in range(0, len(lst), n)]

Example 3: python split dict into chunks

# Since the dictionary is so big, it would be better to keep
# all the items involved to be just iterators and generators, like this

from itertools import islice

def chunks(data, SIZE=10000):
    it = iter(data)
    for i in range(0, len(data), SIZE):
        yield {k:data[k] for k in islice(it, SIZE)}
        
# Sample run:
for item in chunks({i:i for i in range(10)}, 3):
    print item
    
# Output
# {0: 0, 1: 1, 2: 2}
# {3: 3, 4: 4, 5: 5}
# {8: 8, 6: 6, 7: 7}
# {9: 9}

Example 4: split array into chunks python

a = [1, 2, 3, 4, 5, 6 ,7 ,8 ,9]

splitedSize = 3
a_splited = [a[x:x+splitedSize] for x in range(0, len(a), splitedSize)]

print(a_splited)
# [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Example 5: split into list into even chunks

def chunks(l, n):
    n = max(1, n)
    return (l[i:i+n] for i in range(0, len(l), n))

Example 6: how to break a list unequal size chunks in python

>>> data = [123,452,342,533,222,402,124,125,263,254,44,987,78,655,741,165,597,26,15,799,100,154,122,563] 
>>> sizes = [2, 5, 14, 3]
>>> it = iter(data)
>>> [[next(it) for _ in range(size)] for size in sizes]
[[123, 452],
 [342, 533, 222, 402, 124],
 [125, 263, 254, 44, 987, 78, 655, 741, 165, 597, 26, 15, 799, 100],
 [154, 122, 563]]