Python中三元表达式的几种写法介绍
要介绍Python的三元表达式,可以先看看其他编程语言比如C,JAVA中应用:
publicclassjava{ publicstaticvoidmain(String[]args){ intx=100; inty=101; intMAX=(x>y)?x:y; System.out.println("MAX:"+MAX); } }
上面的例子可以很好的说明了其他语言的格式:
判段的条件?条件为真时的结果:条件为假时的结果
而在Python中尽管也有三元表达式,但格式不同,先看下在Python中简单示例
>>>x=4 >>>y=99ifx>3else999 >>>y 99
从上面的Python是示例可以看出,Python的三元表达式格式如下:
条件为真时的结果if判段的条件else条件为假时的结果
适用场景:变量赋值时,要做条件判断时,简化代码时使用。上面就是一个示例。
先定义变量:
a=1 b=2
第一种写法:
erroStr="More"ifa>belse"Less" print(erroStr)#运行结果为:Less
第二种写法:
print({True:"More",False:"Less"}[a>b])#运行结果为:Less
第三种写法:
print(("FalseValue","TrueValue")[a>b])#运行结果为:FalseValue
其中我们比较常见的是第一种。
第二三种是挺简洁的,但是写在项目里怕是接手的同事要抓狂了。
其他示例:
>>>defMax(x,y): ...returnxifx>yelsey >>>Max(99,98) 99 >>>Max(78,88) 88 >>>L=[] >>>x=2 >>>L.append(100ifx>1else0) >>>L [100] >>>deffib(n): ...return1ifn==1elsefib(n-1)+n >>>fib(1) 1 >>>fib(5) 15 >>>L=[-2,-4,0,2,5,8] >>>list(filter(lambdax:Trueifx>0elseFalse,L)) [2,5,8]
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接