Home > Back-end >  How to fetch (pop) N elements from a Python list iteratively while list exhausts?
How to fetch (pop) N elements from a Python list iteratively while list exhausts?

Time:01-11

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)

CodePudding user response:

you can use this list comprehension

[l[i:i   N] for i in range(0, len(l), N)]
  • Related