python yield split by size 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: 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]]