首页 » Python » python 中lambda 表达式

python 中lambda 表达式

 

简介

什么是lambda表达式呢? 简单的说就是一个没有 “return” 语句的函数,或者叫”匿名函数”,看一个简单的lambda表达式例子

定义

lambda表达式有3个部分,第一部分就是”lambda”关键字的,标明这是一个lambda表达式,然后紧接着第二部分”变量”, 然后”:”后面接着第三部分”返回值”上面的表达式接收值x,然后返回x+5的值,相当于函数

看看有多个参数的lambda表达式(返回三个数的和):

那么lambda表达式和函数有什么区别呢, 直观的函数肯定要写更多的代码,而lambda仅仅是一行表达式, 假如我们仅仅是临时一次使用一个简单函数(通常只有1-3行规模的),这个函数再也没有其他的用途, 那么选择单独定义一个函数显然是不聪明的,因为要更多的代码,额外的命名. 因此lambda就能很愉快的解决这个问题.

还有一个特点就是lambda表示式是可以赋值的,并可以在函数中构造并返回, 看如下例子

这里’g’就相当于是lambda表达式”lambda x : x + 5”, 然后像函数一样使用即可:

看看通过参数构造不同的lambda表达式:

其他应用

filter(), map(), reduce()的作用简介

filter()函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。

map()函数处理一个列表里的所有元素,可以使用一个for循环来完成这个工作。但是Python内置的map函数可以帮我们的忙,它接受函数和列表作为参数,然后返回函数处理之后的列表:

reduce()函数对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用

原文链接:python 中lambda 表达式,转载请注明来源!

0