当前位置:   article > 正文

【Python 基础篇】Python代码 之 三目表达式总结_python 三目表达式

python 三目表达式

提起三目表达式,相信大家都不陌生。该表达式,简化了代码的书写,可以说一定程度上,让我们的代码,看起来十分精炼。不同的编程原因,绝对部分都会提及到三目语法。比如,在systemverilog 语言中,定义 if 判断条件为真 ? 条件为真的表达式:条件为假的表达式。

今天,我们着重总结python 的三目语法。

1. Python中的三元表达式语法

result = 为真时的结果 if 判断条件 else 为假时的结果

  1. # 示例:
  2. >>> x = 1
  3. >>> y = 2
  4. >>> result = x if x > y else y # 如果条件成立,将x的值赋给result
  5. >>> result
  6. 2

上面的三元表达式等价于

  1. >>> x = 1
  2. >>> y = 2
  3. >>> if x > y:
  4. ... result = x
  5. ... else:
  6. ... result = y
  7. ...
  8. >>> result
  9. 2
  10. >>>

2. 三元表达式的常见应用

2.1  结合普通函数使用

  1. # 示例一: 求两个参数的最大值
  2. >>> def max(x, y):
  3. ... return x if x > y else y # 取两个值的比较大的
  4. ...
  5. >>> max(1, 3)
  6. 3
  7. >>>
  8. # 示例二: 斐波那契数列
  9. >>> def fib(n):
  10. ... return n if n<2 else fib(n-1)+fib(n-2)
  11. ...
  12. >>> [fib(n) for n in range(10)]
  13. [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
  14. >>>

2.2 结合匿名函数使用

  1. >>> map(lambda x,y:x-y if x> y else y-x, [2,1,3],[4,3,1]) # 两个列表相减并保证不为负
  2. [2, 2, 2]
  3. >>>

2.3 结合列表推导使用

  1. # 示例一: 将0-910个数,奇数用0表示,偶数用1表示
  2. >>> [0 if i % 2 == 0 else 1 for i in range(10)]
  3. [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
  4. # 示例二: 常规写法
  5. >>> x = 100
  6. >>> L = []
  7. >>> L.append(1 if x>0 else 0)
  8. >>> L
  9. [1]
  10. >>>

2.4  在处理Json格式中的应用

使用三元表达式的写法

一般的写法,可以看见,使用三元表达式的写法要简洁的多!

2.5  三元表达式的一个变种

下面是三元表达式的一个变种,但是只能针对bool 操作。注意,此时 bool(参数) 中的参数,可以是非布尔变量。

  1. >>> cond = True
  2. >>> name = ["Cat", "Tom"][bool(cond)]
  3. >>> name
  4. 'Tom'
  5. >>> cond = ""
  6. >>> name = ["Cat", "Tom"][bool(cond)]
  7. >>> name
  8. 'Cat'
  9. >>>

3 总结 

最后,推荐大家尝试多去运用三目运算表达式。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/938822
推荐阅读
相关标签
  

闽ICP备14008679号