gpt4 book ai didi

python - izip 的示例代码如何工作?

转载 作者:行者123 更新时间:2023-11-30 23:33:53 25 4
gpt4 key购买 nike

我正在尝试理解 izip 的“等效代码”来自文档。

def izip(*iterables):
# izip('ABCD', 'xy') --> Ax By
iterators = map(iter, iterables)
while iterators:
yield tuple(map(next, iterators))

由于 iterators 是一个非空列表,这是否会产生无限循环?
我还尝试将打印迭代器放在函数的底部,但它从未被执行。为什么?

最佳答案

当迭代器耗尽时,在调用 next() 时,它会引发 StopIteration

因此,tuple(map(next, iterators)) 会将 StopIteration 异常传播给调用者,从而中断无限循环。

关于python - izip 的示例代码如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552228/

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