python - 单线检查迭代器是否产生至少一个元素?

标签 python iterator

目前我正在这样做:

try:
    something = iterator.next()
    # ...
except StopIteration:
    # ...

但我想要一个可以放在简单 if 语句中的表达式。 有什么内置的东西可以让这段代码看起来不那么笨拙吗?

any() 如果可迭代对象为空,则返回 False,但如果不是,它可能会遍历所有项目。 我只需要它来检查第一项。


有人问我要做什么。 我编写了一个执行 SQL 查询并产生结果的函数。 有时当我调用这个函数时,我只想知道查询是否返回任何内容并根据它做出决定。

最佳答案

any 如果为 True,则不会超出第一个元素。如果迭代器产生错误的结果,您可以编写 any(True for _ in iterator)

关于python - 单线检查迭代器是否产生至少一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3114252/

相关文章:

python - 在 Python 中遍历列表列表中的列

python - python 2、matplotlib 1.1.1 中的 pylab.ion() 以及在程序运行时更新绘图

python - 在numpy数组中没有for循环的迭代

c++ - 使用迭代器循环遍历迭代器 vector

python - sqlalchemy id 相等与引用相等

javascript - 无法通过静态 URL 包含外部 javascript 文件

python - 使用 Selenium webdriver 运行时是否可以使用 Chrome 的开发工具?

c++ - 无法将迭代器的 std::set 中的元素插入到 std::list

php - 从特定键迭代 PHP 数组

c++ - 为什么 mySet.erase(it++) 不是未定义的行为,或者是吗?