我试图简化一个算法,其中有3个生成器,这样主生成器耦合其他两个生成器来返回结果
def main():
try:
# here is some code for which try is required
while True:
for _, element in read_events(): # here is the first generator namely `read_events`
yield from factory(element) # here is the second generator namely `factory`
# HERE is some more code that requires the generator to exit for it to run
finally:
pass
这里是我的问题,我如何简化它或更准确地摆脱for循环,使它光滑
编辑:关于try
块和while
循环的一些澄清
您可以使用
chain.from_iterable
将for
循环转换为生成器表达式,尽管我认为这是否使代码 是否可读您甚至可以使用
iter
的2参数形式来摆脱while
循环。我觉得读起来有点难,但可以说,所有重要的事情都是在表达式的开头“提前”:从应用factory
到一系列事件的结果中产生。这些事件的来源是次要的相关问题 更多 >
编程相关推荐