我想知道是否可以在python中做这样的事情:
if x and y < 0
安装:
if x < 0 and y < 0
在第一种情况下,我看到x
被当作布尔值而不是整数。
有糖的语法吗?
答案 0 :(得分:2)
实际上有语法可以做到这一点(请参见this answer),但是您也可以执行类似的操作
if max(x, y) < 0:
答案 1 :(得分:2)
如果您喜欢丑陋的代码小子,那么您来对地方了。
if x < 0 > y
如果您有很多变量,这实际上是不错的。
if all(n < 0 for n in [x, y, z])
答案 2 :(得分:1)
内置all()
函数可让您根据条件测试一组变量。不完全是糖,但通常是pythonic。
if all(z < 0 for z in (x, y)):
这是一个类似的SO问题,以及有关此功能的官方python文档。
Compare multiple variables to the same value in "if" in Python?
答案 3 :(得分:0)
all(map(lambda z: z>0, [x,y]))
应该做