在Python中判断生成器是否为空的优雅方法
我在用Python写一个生成器,想要在它有内容的时候循环处理这些内容,如果没有内容则执行不同的操作。就像这样:
if generator is empty:
perform some action
else:
for item in generator:
perform some actions
我知道没有办法在不遍历生成器的情况下判断它是否为空,但我觉得应该有一些优雅的方法来实现这个逻辑。我能想到的最好办法是类似于https://stackoverflow.com/a/664239/161801的方式,但我觉得这并不优雅,因为它需要把生成器的第一个元素和后面的元素分开处理。
1 个回答
4
只要设置一个标志,如果生成器不为空:
isGeneratorEmpty = True
for item in generator:
isGeneratorEmpty = False
perform some actions
if isGeneratorEmpty:
perform some actions