zoukankan      html  css  js  c++  java
  • 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

        

  • 相关阅读:
    爱的感悟
    连点成图:享受创建图形的乐趣
    python实现动态更新远程机器列表的SSH登录脚本
    python生成数据库中所有表的DESC描述
    生活之美
    克服“测试怠惰”的习惯
    使用git和github托管个人项目
    连点成线
    一次合并数据库的经历
    python使用装饰器捕获异常
  • 原文地址:https://www.cnblogs.com/schut/p/8409684.html
Copyright © 2011-2022 走看看