gpt4 book ai didi

python - 发电机输出长度

转载 作者:IT老高 更新时间:2023-10-28 21:05:23 24 4
gpt4 key购买 nike

Python 提供了一种很好的方法来获取急切可迭代的长度,即 len(x)。但是对于由生成器理解和函数表示的惰性迭代,我找不到任何类似的东西。当然,这样写也不难:

def iterlen(x):
n = 0
try:
while True:
next(x)
n += 1
except StopIteration: pass
return n

但我无法摆脱我正在重新实现自行车的感觉。

(当我输入函数时,我突然想到一个想法:也许真的没有这样的函数,因为它“破坏”了它的论点。不过,这对我来说不是问题)。

P.S.:关于第一个答案 - 是的,像 len(list(x)) 这样的东西也可以,但这会大大增加内存的使用。

P.P.S.:重新检查...忽略 P.S.,似乎我在尝试时犯了一个错误,它工作正常。给您添麻烦了。

最佳答案

最简单的方法可能只是 sum(1 for _ in gen) 其中 gen 是您的生成器。

关于python - 发电机输出长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/393053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com