如何从列表的某个索引(Python)开始执行“for each”?

2024-05-12 05:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有这个清单:

thelist = ['apple','orange','banana','grapes']
for fruit in thelist:

所有的水果都会吃这个。在

但是,如果我想从橙色开始呢?而不是从苹果开始? 当然,我可以做“如果…继续”,但一定有更好的方法吗?在


Tags: 方法in苹果applefor橙色bananafruit
3条回答

使用python优雅的slices

>>> for fruit in thelist[1:]:
>>>    print fruit

正如paulmcguire所提到的,对列表进行切片会创建一个副本来存储结果。如果您有一个包含500000个元素的列表,那么执行l[2:]操作将创建一个新的499998元素列表。在

要避免这种情况,请使用itertools.islice

>>> thelist = ['a', 'b', 'c']

>>> import itertools

>>> for i in itertools.islice(thelist, 1, None):
...     print i
...
b
c
for fruit in thelist[1:]:
    ...

当然,假设您知道从哪个索引开始。但您可以很容易地找到索引:

^{pr2}$

相关问题 更多 >