29
loading...
This website collects cookies to deliver better user experience
range()
function. range(0, 10, 2)
, meaning we would loop over the items 0,2,4,6,8
.i:i+chunk_size
, meaning the first loop would be 0:2
, then 2:4
, and so on.# Split a Python List into Chunks using For Loops
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunked_list = list()
chunk_size = 2
for i in range(0, len(sample_list), chunk_size):
chunked_list.append(sample_list[i:i+chunk_size])
print(chunked_list)
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
sample_list
and contain ten elements in it. We will split the list into equal parts with a chunk_size
of 2.# Split a Python List into Chunks using list comprehensions
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunk_size=2
result=[sample_list[i:i + chunk_size] for i in range(0, len(sample_list), chunk_size)]
print(result)
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
sample_list[i:i + chunk_size]
give us each chunk. For example, if i=0, the items included in the chunk are i to i+chunk_size
, which is from 0:2
index. In the next iteration, the items included would be 2:4
index and so on.itertools
module to split a list into chunks. The zip_longest()
function returns a generator that must be iterated using for loop. It’s a straightforward implementation and returns a list of tuples, as shown below.# Split a Python List into Chunks using itertools
from itertools import zip_longest
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunk_size=2
result=list(zip_longest(*[iter(sample_list)]*chunk_size, fillvalue=''))
print(result)
chunked_list = [list(item) for item in list(zip_longest(*[iter(sample_list)]*chunk_size, fillvalue=''))]
print(chunked_list)
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
NumPy
library to divide the list into n-sized chunks. The array_split()
function splits the list into sublists of specific size defined as n.# Split a Python List into Chunks using numpy
import numpy as np
# define array and chunk_szie
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
our_array = np.array(sample_list)
chunk_size = 2
# split the array into chunks
chunked_arrays = np.array_split(our_array, len(sample_list) / chunk_size)
print(chunked_arrays)
# Covert chunked array into list
chunked_list = [list(array) for array in chunked_arrays]
print(chunked_list)
[array([1, 2]), array([3, 4]), array([5, 6]), array([7, 8]), array([9, 10])]
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
# Split a Python List into Chunks using lambda function
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunk_size = 2
lst= lambda sample_list, chunk_size: [sample_list[i:i+chunk_size] for i in range(0, len(sample_list), chunk_size)]
result=lst(sample_list, chunk_size)
print(result)
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]