有条件地在 python 中生成一个生成器 [英] Conditionally yield a generator in python
本文介绍了有条件地在 python 中生成一个生成器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有这个代码:
def f(data, all_at_once):
if all_at_once:
return data
else:
yield from data
f([1,2,3], True)
f
总是返回一个生成器,而不管 all_at_once
的值如何.如何获得有条件返回生成器的函数?
f
always returns a generator, regardless of the value of all_at_once
. How can I get a function that conditionally returns a generator?
推荐答案
这是一个开始.也许它可以通过 lambda
Here's a start. Perhaps it can be improved by a lambda
def gen(data):
yield from data
def f(data, all_at_once):
if all_at_once:
return data
return gen(data)
f([1,2,3], True)
这篇关于有条件地在 python 中生成一个生成器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文