Software Engineering

How to break a list into multiple lists (with maximum size) in Python


If you have a large list and want to create smaller lists of it, with a maximum amount of elements, then:

commands = [str(i) for i in range(100)]
print(len(commands)) #100

chunks = [commands[x:x+5] for x in range(0, len(commands), 5)]

print(len(chunks)) #20
print(chunks)

This will look like:

[
['0', '1', '2', '3', '4'], 
['5', '6', '7', '8', '9'], 
['10', '11', '12', '13', '14'], 
['15', '16', '17', '18', '19'], 
['20', '21', '22', '23', '24'], 
['25', '26', '27', '28', '29'], 
['30', '31', '32', '33', '34'], 
['35', '36', '37', '38', '39'], 
['40', '41', '42', '43', '44'], 
['45', '46', '47', '48', '49'], 
['50', '51', '52', '53', '54'], 
['55', '56', '57', '58', '59'], 
['60', '61', '62', '63', '64'], 
['65', '66', '67', '68', '69'], 
['70', '71', '72', '73', '74'], 
['75', '76', '77', '78', '79'], 
['80', '81', '82', '83', '84'], 
['85', '86', '87', '88', '89'], 
['90', '91', '92', '93', '94'], 
['95', '96', '97', '98', '99']
]