Say I've got a list and I want to iterate over the first n
of them. What's the best way to write this in Python?
The normal way would be slicing :
for item in your_list[:n]:
...
I'd probably use itertools.islice
(<- follow the link for the docs), which has the benefits of:
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.
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.
Python lists are O(1) random access, so just:
for i in xrange(n):
print list[i]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.