python 三元条件判断的3种实现方法
2016-06-25 17:15
561 查看
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
(完)
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
(完)
相关文章推荐
- python-PIL 图像基本操作
- Python3之pickle模块
- Python demjson 下载并安装
- python 命令行传入参数
- python之数据运算
- 使用scapy分析pcap报文
- Python3之json模块
- 二项分布和Beta分布
- Python 汉字简体和繁体的相互转换
- python之SocketServer编程
- python 使用zip反转字典
- Python-穷举搜索Google方程式
- Python读取大文件的最后N行
- Python sftp到远程服务器读取日志文件
- python-numpy、scipy
- python使用pytesseract识别验证码的方法
- python 安装easy_install和pip
- Python学习-baseNo.1
- python根据文件目录、文件类型和文件与当前时间差删除文件
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 0: i报错问题