[英]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.