三元运算逻辑

(x<y and [x] or [y])[0]

首先计算x<y,如果是True,即True and [x]为[x],[x] or [y]=[x],短路掉[y]
则[x][0]=x(输出列表的第一个元素);如果x<y是False,即False and [x]=False,短路掉直到or
False or [y]=[y],[y][0]=y。实现的功能是
x if x < y else y,即三元操作。
而(x < y and [x] or [y])[0]为何不采用x < y and x or y是因为如果x=0,y>0时,x < y and x =0,
而使之执行or操作,3结果为y,使结果出错,故而采用列表的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值