How to split a list into N parts of approximately equal length with Python?

Sometimes, we want to split a list into N parts of approximately equal length with Python.

In this article, we’ll look at how to split a list into N parts of approximately equal length with Python.

How to split a list into N parts of approximately equal length with Python?

To split a list into N parts of approximately equal length with Python, we can use list comprehension.

For instance, we write:

def chunkify(lst, n):
    return [lst[i::n] for i in range(n)]


chunks = chunkify(list(range(13)), 3)
print(chunks)

We define the chunkify function to split the lst list into n chunks.

To do this, we use list comprehension to return slices of list with from index i to the end with n items in each chunk.

Then we call chunkify with the list(range(13)) list and 3 to divide the list into 3 chunks.

Therefore, chunks is [[0, 3, 6, 9, 12], [1, 4, 7, 10], [2, 5, 8, 11]].

Conclusion

To split a list into N parts of approximately equal length with Python, we can use list comprehension.