How to iterate over the first n elements of a list?
I'd probably use itertools.islice
(<- follow the link for the docs), which has the benefits of:
- working with any iterable object
- not copying the list
Usage:
import itertools
n = 2
mylist = [1, 2, 3, 4]
for item in itertools.islice(mylist, n):
print(item)
outputs:
1
2
One downside is that if you wanted a non-zero start, it has to iterate up to that point one by one: https://stackoverflow.com/a/5131550/895245
Tested in Python 3.8.6.
The normal way would be slicing:
for item in your_list[:n]:
...
You can just slice the list:
>>> l = [1, 2, 3, 4, 5]
>>> n = 3
>>> l[:n]
[1, 2, 3]
and then iterate on the slice as with any iterable.