欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

12_Python的(匿名函数)Lambda表达式_Python编程之路

程序员文章站 2024-01-04 17:52:58
Python作为一门高级语言,与很多编程语言一样都具有匿名函数这一特征 匿名函数,也就Lambda表达式,通俗来讲就是不用命名的方法,直接定义,直接用即可 创建匿名函数需要用到Lambda关键字,下面我们通过一个简单的匿名函数的创建熟悉匿名函数 这个表达式返回的值是a加上b的值,他需要传入两个参数, ......

12_Python的(匿名函数)Lambda表达式_Python编程之路

Python作为一门高级语言,与很多编程语言一样都具有匿名函数这一特征

 

匿名函数,也就Lambda表达式,通俗来讲就是不用命名的方法,直接定义,直接用即可

创建匿名函数需要用到Lambda关键字,下面我们通过一个简单的匿名函数的创建熟悉匿名函数

lambda a,b : a + b

  

这个表达式返回的值是a加上b的值,他需要传入两个参数,也就是a,b,同时还需要一个表达式,这样才能构成一个完整的匿名函数

通过代码完善这一部分的理解

In [1]: func = lambda a,b : a+b

In [2]: func(1,2)
Out[2]: 3

  

首先和前面一样,把这个匿名函数赋值给了一个实例,然后通过这个实例调用这个匿名函数

 

 

下面我们给出这样几段代码

In [3]: def increment(n):
   ...:     return lambda x:x+n
   ...:

In [4]: func = increment(20)

In [5]: func(0)
Out[5]: 20

In [6]: func(10)
Out[6]: 30

  

这是一个简单的递增函数,n是要增加的度,通过Lambda表达式很好的实现了这样的一个功能

 

除了把Lambda表达式作为函数返回外,还可以把他用作对参数预处理

例如下面这个例子

In [11]: word_num = [(1, 'e'), (2,'d'), (3, 'c'), (4, 'b'), (5, 'a')]

In [12]: word_num.sort(key = lambda word_num : word_num[1])

In [13]: word_num
Out[13]: [(5, 'a'), (4, 'b'), (3, 'c'), (2, 'd'), (1, 'e')]

  

开始简单的定义了一个二维列表,在后面排序的时候,我们通过Lambda表达式指定了排序的参考是第二个值,也就是是字母那一列,所以他默认是按照后面的字母进行排序的

 

最后返回的自然是一个排好序的列表

 

这就是Lambda表达式的简单用法

我的个人博客 www.susmote.com

上一篇:

下一篇: