当我们定义了一个函数,只是执行的相关的方法,并没有进行其它的操作时,我们会觉得这个函数定义的有一点浪费。(其实就是懒得定义函数。)
为了使代码简介清晰(偶尔可以装X),Python有一个简练的方法lambda表达式。
举个简单的例子:
先来定义一个简单的函数,他的执行为:
(使用版本:Python3.5)
这个简单的函数只是执行了一个简单的方法,我们可以用lambda表达式来代替:
再来看这个执行结果:
lambda表达式相对之前的定义函数,代码相对简单一些,但值得注意的是这样操作代码的可读性就会降低。(就是看这种代码会相对痛苦。)
我们可以再来一个例子
在这我们用到Python中的map()方法,map(f,i)方法就是传入f函数,然后再传入一个或多个序列(也就是i)。map()函数将i序列每一个元素都调用f函数然后返回新的列表。说大白话,就是让L=[1,2,3,4,5]中的每一个数字都要平方然后返回,这时候我们就将将数字平方的函数传到f中,然后把L传到i中。
我们写一个代码:
这个方法就是让一个队列中包含0-10,并将它们分别平法,然后打印出来。(PS:我用的是Python3.5,map()返回函数会有变化,想要list(),要进行转换。)
用lambda表达式为:
这样三行代码一行就搞定了!(但是可读性真的降低了不少······)