python lambda函数的用法(一文了解lambda函数)
Python的lambda函数用法介绍,lambda函数是一种小的匿名函数。Python要求lambda只能有一个表达式。因此lambda的语法为:
lambda为关键字,arguments为参数,lambda的参数可以为0个或任意多个,expression为函数体,lambda限制要求只能有一个表达式,lambda返回值是一个函数对象。
下面我们通过实例看一下lambda的基本用法。
程序的第4行,我们定义了一个lambda匿名函数,它会返回参数x的2倍,函数返回一个函数对象,并赋值给func1。程序的第6行,我们调用函数对象func1,传入实参3,则函数进行计算,即3*2=6,这时print将打印结果6,如下图所示。
lambda也可以接受任意数量的参数。程序的第8行,我们设计了一个传入2个参数的lambda函数,其功能是计算两个参数的和。形参分别为x和y,程序的第10行,我们传入实参1和5,最后会得到6,即6=1+5。
再来一个复杂一些的。与函数嵌套类似,lambda函数在所包含的作用域内,也可以引用变量,程序的第13行,我们定义了一个函数func3,它的功能是返回参数x与一个未知数y的和。这个所谓的"未知数"是什么意思呢?我们通过一个实例来看一下它的运行机制。首先,我们使用func3(4)调用函数,这时参数x的值是4,而在调用 func3时,函数func3是不知道y是多少的,也就是说在定义和调用func3时,y都是一个未知数。当我们执行func4(5)时,程序实际上是进行了lambda y:y+4的操作,(因为之前调用func3时x=4),而此时y=5,所以最后会返回5+4=9。
lambda经常会与map,filter,reduce,sorted之类的函数配合使用。接下来我们通过sorted函数的实例,进行一下演示。
在这个程序里,我假定有一个branch_ind的列表,里面包含了一个元组,每个元组分别由(分行名称,贷款发放金额)组成,作为明年各分行的工作指标。现在我们要对各分行的指标进行一下排序。
程序的第4行调用了sorted函数,对branch_ind列表进行排序,key是指定进行比较时所用的参数,在本例中,我们是使用元组的第2个参数进行比较,即x[1]。通过lambda函数,我们将元组的第2个参数返回给sorted进行排序,在排序完成后,sorted将返回一个排好序的新列表。
程序的运行效果如下:
我们可以看到,按照贷款发放指标17 < 20 < 30 < 79 < 100,sorted函数对列表进行了排序。
我使用的环境:Windows 7 + Python 2.7.17 + PyCharm Community Edition 2016.1.5
原文地址:https://tangjiusheng.com/it/844.html
- Python求和的函数(Python求两个数的和方法)
- python语言换行符n怎么用(python换行符n使用详解)
- numpy怎么安装(安装python环境及numpy插件的安装)
- 爬虫python入门好学吗(简单的爬虫案例适合入门学习)
- vscode python环境搭建(手把手教你详细步骤)
- python编程软件界面怎么调成中文版(pycharm英文版设置改成中文版)
- python中split的用法(split函数详解)
- python index函数怎么用(python index方法详解)
- python解释器哪个好用(推荐17个在线的Python解释器)
- Python字符串换行符(如何在Python 输出时不换行)