如何遍历列表的前n个元素?
假设我有一个列表,我想要遍历前面 n
个元素。用Python怎么写这个代码最简单呢?
4 个回答
13
你可以直接对列表进行切片:
>>> l = [1, 2, 3, 4, 5]
>>> n = 3
>>> l[:n]
[1, 2, 3]
然后就可以像处理任何可迭代的对象一样,遍历这个切片。
42
我可能会使用 itertools.islice
(点击链接查看文档),这个方法有以下好处:
- 可以处理任何可迭代的对象
- 不会复制列表
用法:
import itertools
n = 2
mylist = [1, 2, 3, 4]
for item in itertools.islice(mylist, n):
print(item)
输出结果:
1
2
一个缺点是,如果你想从非零的位置开始,它需要一个一个地迭代到那个点:https://stackoverflow.com/a/5131550/895245
在 Python 3.8.6 中测试过。
125
一般来说,处理字符串的常用方法是用切片。
for item in your_list[:n]:
...