其他语言的三元表达式
result = 判定条件? 为真时的结果:为假时的结果
# 示例:
result = 5>3? 1:0 # 条件为真是result赋值为1,条件为假时赋值为0
Python中的三元表达式
result = 为真时的结果 if 判断条件 else 为假时的结果
# 示例:
>>> x = 1
>>> y = 2
>>> result = x if x > y else y # 如果条件成立,将x的值赋给result
>>> result
2
上面的三元表达式等价于
>>> x = 1
>>> y = 2
>>> if x > y:
... result = x
... else:
... result = y
...
>>> result
2
>>>
三元表达式的几个常见应用
1. 结合函数结合使用
# 示例一: 求两个参数的最大值
>>> def max(x, y):
... return x if x > y else y # 取两个值的比较大的
...
>>> max(1, 3)
3
>>>
# 示例二: 斐波那契数列
>>> def fib(n):
... return n if n<2 else fib(n-1)+fib(n-2)
...
>>> [fib(n) for n in range(10)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
>>>
2. 结合匿名函数使用
>>> map(lambda x,y:x-y if x> y else y-x, [2,1,3],[4,3,1]) # 两个列表相减并保证不为负
[2, 2, 2]
>>>
3. 结合列表推导使用
# 示例一: 将0-9的10个数,奇数用0表示,偶数用1表示
>>> [0 if i % 2 == 0 else 1 for i in range(10)]
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
# 示例二: 常规写法
>>> x = 100
>>> L = []
>>> L.append(1 if x>0 else 0)
>>> L
[1]
>>>
4. 在处理Json格式中的一个典型应用
使用三元表达式的写法
一般的写法,可以看见,使用三元表达式的写法要简洁的多!
5. 三元表达式的一个变种
>>> cond = True
>>> name = ["Cat", "Tom"][bool(cond)]
>>> name
'Tom'
>>> cond = ""
>>> name = ["Cat", "Tom"][bool(cond)]
>>> name
'Cat'
>>>
今天的文章Python的三元表达式分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6234.html