这篇文章给大家介绍Python中怎么实现三元表达式嵌套,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
请看代码案例:
cmp = lambda a, b: 0 if a == b else 1 if a > b else -1 print(cmp(3,2)) print(cmp(2,3)) print(cmp(2,2)) out:1 -1 0
以上代码的功能是对两个数进行比较,若第一个数等于第二个数返回0;若第一个数大于第二个数返回1;若第一个数小于第二个数返回-1。
直接看是不是比较懵?我把它拆分一下,换一种写法,会容易懂得多。
def cmp2(a, b): if a == b: return 0 else: if a > b: return 1 else: return -1 print(cmp2(3, 2)) print(cmp2(2, 3)) print(cmp2(2, 2)) out:1 -1 0
可以看到上述2个函数功能完全一致,第一种写法简洁的多!
再来熟悉一下这种写法,为了便于理解我多加了对括号:
0 if a == b else (1 if a > b else -1)
这种语句是三元表达式嵌套三元表达式的结构,从左向右计算。
三元表达式首先找if,找到if判断a ==b (判断元素):
若该条件满足则返回if左边的0(结果元素1)作为整个表达式的运算结果。
若该判断条件不满足则返回判断条件右边的三元表达式(结果元素2)。
右边仍然是三元表达式,继续计算该三元表达式,找到if判断a>b(判断元素):
若该条件满足则返回if左边的1(结果元素1)作为整个表达式的运算结果。
若该判断条件不满足则返回判断条件右边的-1(结果元素2)作为整个表达式的运算结果。
python的三元表达式非常灵活,从上述案例中可以学习到三元表达式的结果元素可以是三元表达式,也就是说三元表达式可以嵌套三元表达式使用。
关于Python中怎么实现三元表达式嵌套就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。