python - 你如何在条件语句中使用 OR 和 AND?

标签 python conditional

我发现自己很多次,有一些东西我需要全部或至少等于某物,我会写这样的东西:

if a==1 and b==1:
   do something

if a==1 or b==1:
   do something

如果事情的数量少没关系,但它仍然不够优雅。那么,对于大量的事情,是否有更好的方法来执行上述操作?谢谢。

最佳答案

选项 1:任何/所有

对于一般情况,请查看anyall :

if all(x == 1 for x in a, b, c, d):

if any(x == 1 for x in a, b, c, d):

您还可以使用任何可迭代对象:

if any(x == 1 for x in states):

选项 2 - 链接和输入

对于您的第一个示例,您可以使用 bool 运算符链接:

if a == b == c == d == 1:

对于第二个示例,您可以使用 in:

if 1 in states:

选项 3:没有谓词的任何/所有

如果你只关心值是否为真,你可以进一步简化:

if any(flags):

if all(flags):

关于python - 你如何在条件语句中使用 OR 和 AND?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10808008/

相关文章:

python - 安装 scipy 和 scikit 时出现错误 1 ​​代码失败

python - numba 参数 argtypes 已弃用的关键字

python - 如何使非卡住数据类卡住,反之亦然?

sql - sqlite根据列条件创建新行

r - 有条件地删除R中的行

javascript - 有条件地加载图像以进行响应式设计

python - 当两个外键指向同一个表时如何使用工厂男孩

html - 仅适用于 Internet Explorer 10 的条件 CSS

c - 推测条件执行 C/C++

python - InterX 到 python 的翻译代码出现故障