美文网首页
Python三元表达式

Python三元表达式

作者: 车湾里 | 来源:发表于2020-06-15 11:52 被阅读0次

在 C 语言或者 Java 等语言中,三元表达式是下面这种格式

boolean值 ?  "为真返回" : "为假返回" 

在 Python 中,并没有这种写法,但是也可以实现,学会写三元表达式,在 lambda 表达式中很好用。

  • 常规的Python 三元表达式, 用 if else 实现
# 中间是布尔表达式,为真返回前面的,为假返回后面的
x = "大于" if 3>1 else "小于"
print(x)

## 结果为: 大于

if else 三元表达式
  • 巧用 and - or 实现 Python 三元表达式
# 前面是布尔表达式,为真返回and后的值,为假返回or后的值
3>1 and "大于" or "小于"
## 结果为:大于
and - or 三元表达式
  • 用 np 库的 where 函数
import numpy as np
## np.where(判断条件,为真时的处理,为假时的处理)
x = np.where(3>4 , "大于", "小于")
print(x)

# 结果为:小于
  • 在 lambda 表达式中的运用:
    用一行代码判断两个数字的大小
compare = lambda a, b : a > b and "大于" or ( a ==b and "等于" or "小于")
print(compare(2,3))  # 小于
print(compare(2,2))  # 等于
print(compare(5,3))  # 大于

相关文章

网友评论

      本文标题:Python三元表达式

      本文链接:https://www.haomeiwen.com/subject/snjcxktx.html