Gia*_*nou 12 python conditional
我已经发现自己很多次,我需要全部或至少一个等于某事的东西,我会写出类似的东西:
if a==1 and b==1:
do something
Run Code Online (Sandbox Code Playgroud)
要么
if a==1 or b==1:
do something
Run Code Online (Sandbox Code Playgroud)
如果事情的数量很小就可以了,但它仍然不是很优雅.所以,对于大量的事情,是否有更好的方法,做上述事情?谢谢.
Mar*_*ers 27
选项1:任何/所有
if all(x == 1 for x in a, b, c, d):
if any(x == 1 for x in a, b, c, d):
Run Code Online (Sandbox Code Playgroud)
您还可以使用任何可迭代的:
if any(x == 1 for x in states):
Run Code Online (Sandbox Code Playgroud)
选项2 - 链接和
对于第一个示例,您可以使用布尔运算符链接:
if a == b == c == d == 1:
Run Code Online (Sandbox Code Playgroud)
对于您的第二个示例,您可以使用in
:
if 1 in states:
Run Code Online (Sandbox Code Playgroud)
选项3:任何/所有没有谓词
如果你只关心价值是否真实,你可以进一步简化:
if any(flags):
if all(flags):
Run Code Online (Sandbox Code Playgroud)