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

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

(完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: