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

原文地址:https://www.cnblogs.com/susmote/p/8918892.html

时间: 2024-10-04 13:45:10

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

【Unity|C#】基础篇(9)——匿名函数/Lambda表达式

[学习资料] > 在线文档 官方文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/ 菜鸟教程(高级教程):https://www.runoob.com/csharp/csharp-tutorial.html > 视频教程 腾讯学院.Siki学院         > 书籍 <C#图解教程>(第13章):https://www.cnblogs.com/moonache/p/7687551.html [学习内容] > 菜鸟教程

Python匿名函数——lambda表达式

如果要定义的函数很简单,一个return语句就能搞定,可以使用lambda表达式来定义, lambda表达式的语法如下: lambda parameters: expression lambda表达式并不包含return语句,凡是使用函数作为参数或返回值的地方,都可以使用lambda表达式,lambda函数的好处有: 简便,顺手 可以不给函数起名字,某些不需要重用该函数的地方,实质上不需要给函数想一个名字 下面的例1将lambda表达式定义的函数作为内置函数filter的参数, 例1. 将lam

03-第一个脚本程序以及输入输出_Python编程之路

上节课已经教大家安装了Python的解释器,那么这节课我们就可以正式来写代码了 说明:在下面的代码演示中,我将大部分使用python交互器演示代码的输入输出,注意">>>"后面代表的是输入的代码,没有其他的标志代表的是输出 按照以往的惯例,首先我们还是写一个Hello world 程序 # -*- coding :utf-8 -*- #Author = susmote print("hello world") 按照以上的程序,我们简单做一个解释 字

07_Python的控制判断循环语句1(if判断for循环)_Python编程之路

Python的数据类型在前几节我们都简单的一一介绍了,接下来我们就要讲到Python的控制判断循环语句 在现实编程中,我们往往要利用计算机帮我们做大量重复计算的工作,在这样的情况下,需要机器能对某个条件进行判断,或是对某个行为进行重复操作 这时我们就必须要知道如何去编写循环判断语句 if... elif... else if也就是如果的意思,后面需要加一个判断条件,如果判断条件为真,则执行if下的操作,如果为假则跳过操作 注意在每个判断条件后面要加上冒号,且if下面的语句要注意缩进 In [1]

15_Python模块化编程_Python编程之路

之前跟大家讲的是一些python的数据基础,从这篇文章开始,我们开始正式学习python的模块化编程 下面我们解释一下什么叫做模块 之前已经讲过怎么去定义一个方法,如果你是用python交互器(自带交互器,或者是ipython)来学习定义方法的话,你定义完方法后,然后退出交互器,然后你再来使用这个方法,很显然,是不会成功调用的,这是因为python交互器在你退出后,会清空内存,所有定义的变量和方法都会被清理 如果你想把定义好的方法用在你的新脚本文件中,这样就必须引入一种模块机制 你可以把你写好的

04_Python的数据类型1数值和字符串_Python编程之路

上一节我们通过一个helloworld程序学习python的一些简单操作,还有输入与输出 这节我们来讲Python的数据类型与变量的操作 Python的交互器 在讲这个之前,我要先讲一下python的交互器,之后讲解代码(除了做简单项目)都在交互器上进行,这样可能比较直接一些,有利于刚接触python的人理解代码 python在命令行自带一个交互器,我们可以直接通过输入python进入python的交互器 但是他的功能并不是很齐全,比如代码着色,和变量的提示,以及操作shell命令的功能都没有

13_Python数据类型字符串加强_Python编程之路

前面已经跟大家讲了python的数据类型,但是没有深入去讲,这一节我们深入了解python数据类型的使用 列表数据类型有很多方法,我们在这里一一跟大家介绍 1.append 方法append用于将一个对象附加到列表末尾. 例如以下代码 In [1]: my_list = [1, 2, 3, 4] In [2]: my_list.append(5) In [3]: my_list Out[3]: [1, 2, 3, 4, 5] 注意append和其他方法一样,只修改列表,不返回值 2.clear

02-Python的下载和安装_Python编程之路

原文发布在特克斯博客www.susmote.com 之前给大家讲了关于python的背景知识,还有Python的优点和缺点,相信通过之前的介绍很多人已经清楚自己到底要不要选择学习Python,如果已经很有兴趣了,那么你就可以自己查看一些有关Python的官方文档,或是买本书啃啃,如果你暂时还没什么兴趣,也不要着急放弃,尝试着多看几节课,如果实在没兴趣也实属正常,Python也不是最好的语言 Python的下载 Python的下载很简单,直接进入官网https://www.python.org/

python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程:是使用一系列函数去解决问题,函数式编程就是根据编程的范式来的出想要的结果,只要是输入时确定的,输出就是确定的. 1.2高阶函数 能把函数作为参数传入,这样的函数就称为高阶函数. 1.2.1函数即变量 以python的内置函数print()为列,调用该函数一下代码 >>> pri