簡體   English   中英

通過索引獲取 itertools 對象,類似於你在列表中的獲取方式

[英]Get itertools object by index, similar to how you get in list

是否有任何快速方法可以輕松地從itertools.izip object導出索引,類似於從list導出的方式?

我正在嘗試比較 2 個值,一個來自列表,另一個來自 itertools 對象。 雖然我可以在對象上使用enumerate來獲取值,但似乎我需要在這樣做之前迭代所述對象中的所有值。

# if iterating from a list
list_values = [(1, 'a', 'john'), (2, 'b', 'jack'), (3, 'c', 'jill')]
print list_values[1] # returns me (2, 'b', 'jack')

# if trying to do the same as above but towards an itertools objext
iter_values = itertools.izip([1, 2, 3], ['a', 'b', 'c'], ['john', 'jack', 'jill'])
print iter_values[1] # Errors-out

不,您不能索引迭代器。 這就是權衡,您不必將對象保留在內存中,但您不會獲得隨機訪問和索引。 您可以使用itertools.islice()對迭代器進行切片,但這當然不是索引操作並且會消耗迭代器。

暫無
暫無

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

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