假设我有一个列表,我想迭代它们中的第一个 n。用 Python 编写这个代码的最佳方法是什么?
n
Python 列表是 O (1)随机访问,因此只需:
for i in xrange(n): print list[i]
我可能会使用 itertools.islice(<-点击文档的链接) ,它有以下好处:
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中测试。
正常的方法是 切片:
for item in your_list[:n]: ...
你可以把清单分成几部分:
>>> l = [1, 2, 3, 4, 5] >>> n = 3 >>> l[:n] [1, 2, 3]
然后在片上进行迭代,就像任何迭代一样。