1
我试图从文档中了解izip
的“等效代码”。izip的示例代码如何工作?
def izip(*iterables):
# izip('ABCD', 'xy') --> Ax By
iterators = map(iter, iterables)
while iterators:
yield tuple(map(next, iterators))
由于iterators
是一个非空列表,不应该产生一个无限循环吗?
另外我试着把print iterators
放到函数的底部,但它从来没有被执行过。为什么?
Martijn给你的答案,但你的另一个问题的答案_“我试着把'print iterators'放到函数的底部,但它从来没有被执行过。”_ - 'yield'将从方法返回;所以除非你把它放在yield之前,否则你的陈述不会被执行。 –
@BurhanKhalid,这不是真的。如果他把它放在函数的底部,使用与yield一样的缩进,它会在下一次调用时执行。 –