gpt4 book ai didi

python - "Functions that consume an entire iterable won' t 终止”?

转载 作者:行者123 更新时间:2023-11-28 19:35:15 26 4
gpt4 key购买 nike

David Beazley's talk on generators ,他说,作为一个警告:

Functions that consume an entire iterable won't terminate(min, max, sum, set etc.)

这里是什么意思?

gen = (x*2 for x in [1,2,3,4,5])

sum(gen) 正常终止。

最佳答案

他指的是无限序列的概念,如果您向 max 等人提供无限序列,他们根本无法返回值.

想要复制? 除了构建自定义的无限序列,Python 在 itertools 中有一组内置这些(即 repeat count cycle )。尝试并做:

from itertools import repeat

max(repeat(20))

看看会发生什么。实际上,不要那样做max 会随着repeat 不断给出数字1 继续咀嚼。这是一场经得起时间考验的爱情,永不终止 :-)


1 -- 想象吃 bean 人在一条永无止境的直线上;不断地吃那些黄色的小东西。吃 bean 人 = maxrepeat 生成的黄色东西。

关于python - "Functions that consume an entire iterable won' t 终止”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34955734/

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