python 三元表达式嵌套,python循环嵌套三角形

  python 三元表达式嵌套,python循环嵌套三角形

  相信Python的三元形式可以交到学过Python的朋友。但是,几乎所有学python的朋友都不知道三元形式是可以嵌套的。

  请参见代码示例:

  cmp=lambdaa,b:0i fa==belse 1 fab else-1

  打印(CMP (3 3,2))

  印刷(CMP) 2,3))

  打印(CMP(2 ^ 2,2))))。

  出局:1

  -1

  0

  上面代码的作用是比较两个数,如果第一个数等于第二个数就返回0。如果第一个数字大于第二个数字,则返回1。如果第一个数字小于第二个数字,则返回-1。

  直视是无知吗?分一下,改一下写法,就变得好懂了。

  deFCMP2(a,b):

  ifa==b:

  返回0

  否则:

  ifab:

  1次返回

  否则:

  返回-1

  打印(CMP 2 (3,2))))。

  打印(CMP2) 2) 2,3))

  打印(CMP2) 2) 2,2))

  出局:1

  -1

  0

  可见上面两个函数的作用是一模一样的,第一种写法是多么简洁啊!

  为了更熟悉这种写法,更容易理解,增加了括号:

  0IFA==belse(1ifabelse-1)).

  该语句是三元表达式嵌套的三元表达式的结构,从左到右计算。

  式三先找if,找if判断a==b(判断元素)。

  如果满足这个条件,则返回If左边的0(结果元素1)作为整个表达式的运算结果。

  如果不满足判断条件,则返回判断条件右侧的三元公式(结果元素2)。

  还是右边的三元公式,继续计算三元公式,找到if判断ab(判断元素):

  如果满足这个条件,则返回If左边的1(结果元素1)作为整个表达式的运算结果。

  如果不满足判断条件,则返回判断条件右侧的-1(结果元素2)作为整个公式的运算结果。

  Python的三元表达式非常灵活。从上面的情况可以了解到,三元表达式的结果元素可以是三元表达式。也就是说,三元表达式可以嵌套使用三元表达式。

  知道三元公式中嵌套的三元公式的结构并不容易。如果你精通,代码会更简洁。在三元公式中嵌套三元公式比使用if else if else要高很多,让人觉得想笑。

  【编辑推荐】

  [责任编辑:魏丽艳电话:(010) 68476606]

  叶昊0

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: