当前位置: 首页 > 面试题库 >

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

宇文温文
2023-03-14
问题内容

目前,我正在这样做:

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

但是我想要一个可以放在简单if语句中的表达式。是否有内置的东西可以使这段代码显得不太笨拙?

any()``False如果iterable为空,则返回,但如果不是,则可能会遍历所有项目。我只需要检查第一项即可。

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


问题答案:

any如果为True,则不会超出第一个元素。万一迭代器产生一些虚假的东西,您可以编写any(True for _ in iterator)



 类似资料:
  • 我有这个正则表达式只允许字母数字字符。 如何检查字符串是否至少包含3个字母字符。 我当前的正则表达式, 我想强制执行字符串以确保至少有3个连续的字母字符;

  • 问题内容: 我需要找到属于特定条件的任何组的所有行。 我将一个组定义为在“组”列中共享一个值的几行。 相关组必须包含至少一行且Eligible设置为true的行,并且该组中至少有两行在Group或Eligible之外的任何列中必须彼此不同。 样表 所需结果 以下查询使我接近 问题在于它返回的结果太多,因为没有考虑该组中的记录之一是否被标记为合格。 我可能缺少一些简单的东西,但是我无法弄清楚如何检查

  • 问题内容: 一位访问员最近问我这个问题:给定三个布尔变量a,b和c,如果三个变量中至少有两个是true,则返回true。 我的解决方案如下: 他说,这可以进一步改善,但是如何呢? 问题答案: 而不是写: 写: 至于表达式本身,是这样的: 或此(无论您觉得更容易掌握): 它测试和准确一次,最多一次。 参考文献 JLS 15.25条件运算符?:

  • 问题内容: 给定一个简单的html形式,如下所示: 如果至少有一项输入为空,我需要您的帮助来知道如何检查验证时间。所需的验证如下。用户必须至少完成一个首选项。 使用jQuery的这: 可以,但是想弄清楚如何使用angular来做同样的事情。 非常感谢 吉列尔莫 问题答案: 因此,想法是如果所有输入均为空白,则禁用提交按钮。你可以这样 是强制转换为值。并且和都被评估为。

  • 在MDN文档中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of 用于。。。of构造被描述为能够在“iterable”对象上迭代。但是有没有一个好的方法来决定一个对象是否是可移植的呢? 我试图找到数组、迭代器和生成器的公共属性,但无法做到这一点。 除了为。。。检查try块中的,

  • 问题内容: 假设我有一个列表, 并且我想知道其中的至少一个数字是否存在于另一个列表中,例如这个列表: 换句话说,我想知道list中是否存在1,2或3 。我现在可以做类似的事情 但是,是否可能有一种方法可以使事情整齐? 问题答案: 有很多方法可以做到这一点。最直接的翻译是: 您还可以使用各种涉及集合的东西,例如: (这取决于元素是可哈希的,但如果这是真的,这很可能会更快地制定一套较大的出来的,并为任