Python - 没有任何返回的生成器案例

标签 python for-loop generator

我有一个像这样的生成器:

def iterate_my_objects_if_something(self):
    for x in self.my_objects:
        if x.something:
            yield x

我这样调用它:

for x in self.iterate_my_objects_if_something():
    pass

在没有任何可返回的情况下,这会尝试遍历 NoneType 并抛出异常。

我该如何返回一个空的生成器?

最佳答案

只需做一个简单的检查:

def iterate_my_objects_if_something(self):
    if self.my_objects:
        for x in self.my_objects:
            if x.something:
                yield x

关于Python - 没有任何返回的生成器案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713094/

相关文章:

python - 从 python 列表中选择一个随机单词?

node.js - nodejs fs.exists (fs.access) 在 for 循环中发生了奇怪的事情

java - 2^N 与整数的组合(内核),如何生成它们?

python - 在 python 中深度复制生成器

python - 有向无环图中的所有唯一路径,以随机顺序,通过 Python 生成器?

Python 生成器与列表理解冲突

python - PyCharm:导航到最近的方法?

c++ - 初学者用 Python 扩展 C(特别是 Numpy)

python - 如何用 Pandas 旋转数据框

Java:使用 split 方法添加时,字符串数组列表中出现额外的空格