簡體   English   中英

有沒有辦法在Python中循環遍歷列表的子部分

[英]Is there a way to loop through a sub section of a list in Python

因此,對於包含1000個元素的列表,我想從400循環到500.你是如何做到的?

我沒有看到使用for each和for range技術的方法。

for x in thousand[400:500]:
    pass

如果您正在使用iterable而不是列表,則應使用itertools

import itertools
for x in itertools.islice(thousand, 400, 500):
    pass

如果你需要循環超過thousand[500] ,那么使用501作為后一個索引。 即使thousand[501]不是有效索引,這也會有效。

for element in allElements[400:501]:
     # do something

這些是切片並生成整個列表的子列表。 它們是Python的主要元素之一。

運用

for element in allElements[400:501]:
    doSomething(element)

使Python創建新對象,並可能對內存使用產生一些影響。

相反,我會使用:

for index in xrange(400, 501):
    doSomething(allElements[index])

這種方式還允許您在迭代期間操作列表索引。

編輯:在Python 3.0中,您可以使用range()而不是xrange() ,但在2.5及更早版本中, range()創建一個列表,而xrange()創建一個生成器,它占用較少的寶貴RAM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM