我发现自己很多次,有一些东西我需要全部或至少等于某物,我会写这样的东西:
if a==1 and b==1:
do something
或
if a==1 or b==1:
do something
如果事情的数量少没关系,但它仍然不够优雅。那么,对于大量的事情,是否有更好的方法来执行上述操作?谢谢。
最佳答案
选项 1:任何/所有
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/