您的位置:首页 > 编程语言 > Python开发

python的三元运算符

2014-08-11 17:55 190 查看
min2=aifa<belseb

注:中间没有任何冒号,逗号。

下面是一个例子:比较2个数大小:

min2=lambdaa,b:aifa<belseb


我写程序很喜欢用三元运算符,但是在python中居然不支持,有点郁闷,查了下资料,发现还是有解决方案的。

比如,一个这样的函数:

functiontrans(v){
return(v==0)?1:v;
}

啧啧,三元运算符看着就是漂亮,不知道python为什么不支持。

下面看一下python的解决方案一:
Python代码

deftrans(v):
return1ifv==0elsev
[code]deftrans(v):
return1ifv==0elsev
也就是ifelse语句的简写形式,意思一看就明白,看起来还不错。

下面是解决方案二:
Python代码

deftrans(v):
returnv==0and1orv
deftrans(v):
returnv==0and1orv[/code]用到了与或运算符的特性。

解释一下:如果v等于0为true,则跟1做与运算,为true,则不进行后面的或运算,直接返回1;如果v等于0为false,则跟1做与运算,为false,继续进行或运算,返回v。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: