三元条件判断的3种实现方法
C语言中有三元条件表达式,如 a>b?a:b,Python中没有三目运算符(?:),但Python有它自己的方式来实现类似的功能。这里介绍3种方法:
true_part if condition else false_part
a,b=2,3
c=a if a>b else b
a,b=2,1
c=a if a>b else b
>>> print c
2
利用and-or条件判断的特性来实现三元条件判断
首先介绍一下,an
如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选。不过,如果使用numpy中的向量化计可以大大加速运算的过程。
在numpy中有一个这个三目运算的向量版本numpy.where。where方法可以接收三个参数,第一个参数为条件向量,而第二、第三个参数可以是矩阵也可以是标量。接下来做一下相应功能的纯Python功能实现以及向量方式实现。
记录如下:
In [76]: xarr
三目运算符也就是三元运算符
一些语言(如Java)的三元表达式形如:
判定条件?为真时的结果:为假时的结果
result=x if x
Python的三元表达式有如下几种书写方法:
if __name__ == '__main__':
a = ''
b = 'True'
c = 'False'
#方法一:为真时的结果 if 判定条件 else 为假时的结果
d = b if a else c
print('方法一输出结果:' + d)
#方法二:判定条件 and 为真时的结果 o
带你走进数据类型
一:整数、浮点数
Python中整数和浮点数的定义以及运算和C++都是一样的,我在这里就不需多说了,我就说明一点:Python相对于C/C++而言,定义整数没有int 和 long long 这些区分的,直接赋值即可。这就体现出了Python简洁的功能。
二:布尔值、空值
首先我们先谈谈Python中的布尔值True和False。在Python中可以直接使用True和False(请注意大小写),也可以通过表达式计算出True或者False。
另外,还有三种常见的布尔运算符a
二元表达式:
wide=1
new_w = 299 if not wide else 28
print(new_w)
new_w = 299 if wide>0 else 28
print(new_w)
a,b=1,2
max = a if a > b else b
三元表达式
wide=0
new_w = 299 if wide>0 else 'sdf' if wide==0 else 28
print(new_w)
三目运算符:
这个是三目运算符(伪,因为Pytho
三元运算又称三目运算,是对简单的条件语句的简写
简单条件语句:
if 条件成立:
val = 1
else:
val = 2
改成三元运算:
val = 1 if 条件成立 else 2
举例:
a = 2
b = 5
val = a if a > b else b
print(val) # 5
val = a if a < 3 else b
print(val) # 2
您可能感兴趣的文章:Python三元运算实现方法p