目前我正在这样做:
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/