博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 三元条件判断的3种实现方法
阅读量:4171 次
发布时间:2019-05-26

本文共 756 字,大约阅读时间需要 2 分钟。

python 三元条件判断的3种实现方法
C语言中有三元条件表达式,如 a>b?a:b,Python中没有三目运算符(?:),但Python有它自己的方式来实现类似的功能。这里介绍3种方法:
1》true_part if condition else false_part
a,b=2,3
c=a if a>b else b
>>> print c
3
a,b=2,1
c=a if a>b else b
>>> print c
2
2》利用and-or条件判断的特性来实现三元条件判断
首先介绍一下,and和or的用法:
python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。
无论是列表,元组还是字符串,空表示False,非空表示True
>>> 'python' and [] and (2,3)
[]
>>> 'python' and [2,3] and (3,4)

(3, 4)

or 也是从左到右计算表达式,则返回第一个为真的值,若均为假,则返回最后一个值。
>>> 'python' or [3,4] or ()
'python'
>>> '' or [] or ()

()

然后,我们利用and-or条件判断的特性来实现三元条件判断:
a,b=2,1
c = (a>b and [a] or [b])[0]
>>> print c
2
3》使用列表
a,b=2,7
c = [b,a][a>b]
>>> print c
7
分析:若a>b为真,由于真用1表示,因此相当于c=[b,a][1],即c=a
      若a>b为假,由于假用0表示,因此相当于c=[b,a][0],即c=b
>>> int(False)
0
>>> int(True)
1
(完)

转载地址:http://qdyai.baihongyu.com/

你可能感兴趣的文章
db2 - Partitioning on Multiple Columns
查看>>
db2 - 如何在shell中获取存储过程OUT型参数的返回值(awk)
查看>>
RANK() OVER(PARTITION BY deptno ORDER BY empno)
查看>>
Shell开发的一些技巧和经验
查看>>
C++内存问题(很多公司面试的题目,值得一看,看懂了别忘了告诉我)
查看>>
VBS递归遍历文件夹
查看>>
JCSetter.vbs(Java CLASSPATH Setter)
查看>>
Java中日期的使用
查看>>
VBA创建类事件
查看>>
深入理解递归函数的调用过程
查看>>
CL 与 LINK的命令行用法
查看>>
Pro*C 基础教程-简化版_Vol4 登录
查看>>
制作自己的MSDN2001OCT绿色版
查看>>
一个使用Pro*C实现增删改查的小例子
查看>>
Pro*C中嵌入PlSql块小例
查看>>
Pro*C动态SQL使用小例
查看>>
OCI小例
查看>>
Save could not be completed. Eclipse国际化的问题解决
查看>>
Xblo(JSP+Servlet+JavaBean+Oracle单用户Blog)
查看>>
Unable to use IEC module under PortablePython_1.1_py2.5.4
查看>>