python中的另一个花哨的技巧,lambda函数添加了另一种方法,以在一行中执行代码块。那么,Lambda功能是什么,我们如何使用它们?
什么是Lambdas?
lambda函数是小的匿名函数,可以采用多个参数并在其上执行单数表达式。 lambda函数的格式涉及关键字“ lambda”,参数名称和colon(:)之后的表达式本身。
lambda格式
lambda argument(s): expression
传统功能通常具有返回语句,但lambda仅在运行后返回其表达式的值。让我们看一下使用lambda的示例。
(lambda a: a * 3)(4)
上面的示例将在调用时返回值12(4*3)。请注意,由于这是一个匿名函数,因此我们不能单独调用它,我们必须将函数包含在括号中,然后将输入右侧的括号中的数字。现在,这似乎是毫无意义的,因为没有利用给定的值。现在,让我们看一下通过您的程序使此函数更有用的方式。
lamb = lambda a: a * 3
print(lamb(4))
在这种情况下,我们添加了一个变量来保存此lambda功能,因此我们能够在其他地方使用它。使用相同的lambda函数作为我们的第一个示例,我们给出了一个变量以保存该功能。然后,我们可以使用变量名来从中运行我们的lambda函数。同样,这个想法通常不会被使用,因为编写完整功能并为此用例调用它可能更可读性,但是了解您可以做到这一点很重要。现在,让我们看一下使用Lambda的两种更有用和常见的方法。
lambda效果与迭代
example_list = [1, 2, 3, 4, 5, 6, 7, 8]
example_list = list(map(lambda x: x**2, example_list))
print(example_list)
output => [1、4、9、16、25、36、49、64]
lambda功能的最大,最有用的用例是迭代。在上面,我们看到了一个想在列表中工作的示例,并用其平方值替换每个元素的值。如果您不熟悉地图功能,则其目的是将函数作为其第一个参数,并在第二个参数中的所有元素上执行,并返回可以将对象设置为列表或元组。在上面的示例中,我们可以定义一个单独的函数或循环来执行此操作,但是您会注意到配对lambda和地图使此操作非常凝结。
example_list = [1, 2, 3, 4, 5, 6, 7, 8]
example_list = list(filter(lambda x: x % 4 == 0, example_list))
print(example_list)
output => [4,8]
上面,我们还有另一个示例,说明如何使用具有峰值的lambda。同样,我们从同一列表开始,然后使用过滤器函数对其进行编辑。与地图函数类似,这采用条件和一个值得一提的,并将返回包含条件所有元素的对象。在这种情况下,我们希望列表所有可分开的元素。现在,我们可以再次使用单独定义的函数,但是lambda使我们的代码更加简洁。
谢谢你!
如果您喜欢阅读或学到一些东西,请在下面告诉我!感谢您抽出宝贵的时间检查我的指南。欢呼!