在java或者其他语言中,三元表达式的形式如下:
// 如果条件为真,则返回这为x,否则为y
result=condition?x:y
而在python中三元表达式的语法如下:
result = x if condition else y
看起来有点别扭,实际上还可以这样写:
result = (x, y)[condition]
这样反而更简单易懂。
在java或者其他语言中,三元表达式的形式如下:
// 如果条件为真,则返回这为x,否则为y
result=condition?x:y
而在python中三元表达式的语法如下:
result = x if condition else y
看起来有点别扭,实际上还可以这样写:
result = (x, y)[condition]
这样反而更简单易懂。
本文标题:Python三元表达式
本文链接:https://www.haomeiwen.com/subject/jjlalttx.html
网友评论
从元组元素整数索引角度看
(x,y)中x,y的索引分别为0,1,
所以
(x,y)[condition] 在condition==True时返回y,否则返回x
这样理解不知是否正确
jupyter (python2.7)测试
x,y = 1,2
x if x<y else y #返回数字 1
(x,y)[x<y] #返回数字 2
result = x if condiction *else* y
用or 的情况是
result = x or y
会对x 转化为Boolean 类型后判断,如果为真则 result 为x 否则为y