python的三目运算符

最近找工作,就复习了排序算法。然后,今天看了网上别人的写的快排的python实现代码,有一段是

def quickSort(arr, left=None, right=None):
    left = 0 if not isinstance(left,(int, float)) else left
    right = len(arr)-1 if not isinstance(right,(int, float)) else right
    之后的代码略.....

我看到上面的代码时,第一反应是我能理解什么意思,但是为什么我之前没见过这种用法?(作为学习和使用python时间并不短的我来说,这种滋味是别扭的)

其他一些编程语言中是有三目操作的,但是 python 中并没有类似 condition ? value1 : value2 三目操作符
实际上,很多情况下我们只需要简单的判断来确定返回值,但是如果使用if-else就显得杀鸡用牛刀,太过臃肿了。

但是,don’t worry! python 可以通过 if-else 的行内表达式完成类似的功能

var = value1 if condition else value2
可以这么理解上面这段语句,如果 condition 的值为 True, 那么将 value1 的值赋给 var;如果为 False 则将 value2的值赋给 var

示例:

>>> a=4
>>> b=True if a%2==0 else False
>>> b
True


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值