[英]Exception while handling generator.send() in try…except block
[英]Consume multiple items with generator.send() in one line
是否有直接将列表/生成器提供给生成器的习语?
lst = [1, 2, 3]
it = my_gen()
next(it)
# can do without i ?
for i in lst:
it.send(i)
UPD:是否可以将 lst 与它链接在一行中,删除for
和i
?
这是一种使用map
和deque
来使用迭代器的方法(这里的解释是: itertools 消耗 recipie ):
from collections import deque
def my_gen():
data = ''
while data is not None:
print(data)
data = yield data
print(data)
yield data
lst = [1, 2, 3]
it = my_gen()
next(it) # priming the generator still needs to be done
deque(map(it.send, lst), maxlen=0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.