How to fetch (pop) N elements from a Python list iteratively while list exhausts?

Question:

I have the following Python list with a predefined N:

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
N = 3

I would like to have a collection of N elements (a list of lists, for example) from the list (if len(l) % !=0 then the last collection could be shorter than N). So something like this:

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

How can I achieve the desired output?
(Actually the order of elements in the output doesn’t matter in my case, just to have all the elements once by the defined number groups)

Asked By: Hendrik

||

Answers:

you can use this list comprehension

[l[i:i + N] for i in range(0, len(l), N)]
Answered By: ashish singh
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.