• Python三元运算和lambda表达式


    一、三元运算

      1、定义:三元运算是if-else 语句的快捷操作,也被称为条件运算。

      2、结构:

          [on_true]  if  [expression]  else  [on_false]

      3、示例:

          x,y = 3,4   # 等同于 x = 3    y = 4

          bigger = x if x>y else y

          print('结果:',bigger)    # 结果:4

      4、多层嵌套使用

        示例:

          a,b,c = 2,6,8  # 等同于 a = 2,b = 6,c = 8

          max = a if a>b and a>c else (b if b>a and b>c else c)

          print('max=',max)  # max=8

    二、lambda表达式

      1、定义:lambda 函数是一种快速定义单行的最小函数,又称匿名函数,可以用在任何需要函数的地方 。

      2、结构:

          lambda 形参列表 : 函数返回值表达式语句

      3、示例:

          x = lambda a,b:a*b

          print('res=',x(2,3))     # res= 6

          注意:所谓匿名函数,也就是说可以不需要命名,只是临时一用,如下:

            print(list(map(lambda x:x*x ,[1,2,3,4])))    # map()函数可以将一个函数映射到一个可枚举类型上面。     

      4、与一般函数的区别  

    #常规写法
    def func(x,y):
        return x*y
    print(func(2,3))
    
    # 匿名函数写法,作用与上面的func函数相同
    func1 = lambda x,y:x*y
    print(func1(2,3))

      5、匿名函数,搭配其他方法使用,一次性使用

    data =  list(range(10)) # range转成列表
    #列表元素自乘方法
    print('自乘后:',list(map(lambda n:n*n ,data))) # 自乘后: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    三、lambda表达式和三元运算搭配使用(用得很多)

      例如:

    func = lambda x,y : x%y if x>y else x**y # 匿名函数结合三元运算
    print(func(2,4))  # 输出: 16

        

  • 相关阅读:
    SQLite数据库框架ORMLite与GreenDao的简单比较
    Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列
    admin嵌套在spring mvc项目里,菜单栏点击新连接每次都会重置
    Spring MVC视图层:thymeleaf vs. JSP
    使用Spring标签库
    SpringMVC中Controller跳转到另一个Controller方法
    有趣iOS开展
    Java日期的格式String类型GMT,GST换算成日期Date种类
    javascript之Style物
    Tair LDB基于Prefixkey中期范围内查找性能优化项目总结
  • 原文地址:https://www.cnblogs.com/schut/p/8409684.html
Copyright © 2020-2023  润新知