python条件表达式的四种表示方式

刚做了一个题:问max=x>y?x:y是否在python中成立。
这当然是不行的啦,这是c语言的条件表达式,那么在python中如何实现条件表达式呢?

假设 a,b,c=1,2,3

c = a if a>b else b

上面是python的二分支结构的一种简洁表达方法。

c = [b,a][a>b] 

二维列表
False返回第一个,True 返回第二个。

if a>b:
    c = a
else:
    c = b

常规方法。

c = (a>b and [a] or [b])[0]

False and [1] or [2],因为and的优先级高于or,先算and

False和[1] and之后还是False,和[2]or之后却成了[2]

True 和[1] and之后是[1],[1]和[2]or结果是[1]

也就是False和True在和别人做boolean运算的时候,根据and还是or,F和T在前在后有不一样的数据转换规则

猜你喜欢

转载自blog.csdn.net/qq_43504939/article/details/89483385
今日推荐