sunshine
管理员
管理员
  • 最后登录2023-10-30
  • 发帖数170
  • 社区居民
阅读:7463回复:0

python lambda表达式介绍

楼主#
更多 发布于:2017-10-12 10:06
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
   # 普通条件语句
   if 1 == 1:
    
   name = 'wupeiqi'
   else:
  
   


    name = 'alex'
  
   # 三元运算
   name = 'wupeiqi' if 1 == 1 else 'alex'

对于简单的函数,也存在一种简便的表示方式,即:lambda表达式

   # ###################### 普通函数 ######################
   # 定义函数(普通方式)
   def func(arg):
  
    return arg + 1
 
   # 执行函数
   result = func(123)
  
   # ###################### lambda ######################
  
   # 定义函数(lambda表达式)
   my_lambda = lambda arg : arg + 1
  
   # 执行函数
   result = my_lambda(123)

lambda存在意义就是对简单函数的简洁表示


内置函数 二

一、map
遍历序列,对序列中每个元素进行操作,最终获取新的序列。

图片:1.png




   li = [11, 22, 33]
   new_list = map(lambda a: a + 100, li)

   li = [11, 22, 33]
   sl = [1, 2, 3]
   new_list = map(lambda a, b: a + b, li, sl)

二、filter
对于序列中的元素进行筛选,最终获取符合条件的序列

图片:22.png



   li = [11, 22, 33]
   new_list = filter(lambda arg: arg > 22, li)

#filter第一个参数为空,将获取原来序列


三、reduce
对于序列内所有元素进行累计操作

图片:3.png

图片:4.png



   li = [11, 22, 33]
   result = reduce(lambda arg1, arg2: arg1 + arg2, li)
   # reduce的第一个参数,函数必须要有两个参数
   # reduce的第二个参数,要循环的序列
   # reduce的第三个参数,初始值

参考:http://www.cnblogs.com/guigujun/p/6134828.html
游客


返回顶部

公众号

公众号