gpt4 book ai didi

python - 迭代生成器时计算总数的正确方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:01:43 25 4
gpt4 key购买 nike

我总是被告知,当您需要计算数字并同时进行迭代时,可以使用内置的 enumerate

例如,这是 Python 中的一个常见习语(函数 gen 返回一个生成器):

for index, item in enumerate(gen()):
# Do something with item

# get the numbers consumed from generator
print("% number of items processed" % (index+1,))

但是如果生成器什么都不返回呢?例如enumerate(range(0))index 变量将是未定义的。

我们可以在 for 循环之前定义 index 变量,但是还有其他我不知道的 pythonic 解决方案吗?

最佳答案

enumerate(gen(), start=1) 将使 index 从 1 开始计数,不再需要 index+1。否则,我认为您拥有的已经是 Pythonic。

index = 0
for index, item in enumerate(gen(), start=1):
# Do something with item

print("%d number of items processed" % (index,))

关于python - 迭代生成器时计算总数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23023192/

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