[英]Python get the last element from generator items
我非常驚訝使用生成器而不是列表。 但我找不到這個問題的任何解決方案。
從生成器項中獲取第一個和最后一個元素的有效方法是什么? 因為使用 list 我們可以只做 lst[0] 和 lst[-1]
謝謝您的幫助。 我無法提供任何代碼,因為這顯然正是我想知道的:)
你必須遍歷整個事情。 假設你有這個生成器:
def foo():
yield 0
yield 1
yield 2
yield 3
獲取第一個和最后一個值的最簡單方法是將生成器轉換為列表。 然后使用列表查找訪問這些值。
data = list(foo())
print(data[0], data[-1])
如果您想避免創建容器,您可以使用 for 循環來耗盡生成器。
gen = foo()
first = last = next(gen)
for last in gen: pass
print(first, last)
注意:當生成器沒有生成值時,您需要特殊情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.