lambda表达式pythonlist_Python学习笔记之lambda表达式用法详解

lambda表达式pythonlist_Python学习笔记之lambda表达式用法详解本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:Lambda表达式使用Lambda表达式创建匿名函数,即没有名称的函数。lambda表达式非常适合快速创建在代码中以后不会用到的函数。麻烦的写法:defmultiply(x,y):returnx*y使用Lambda之后:double=lambdax,y:x*yLambda函…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:

Lambda 表达式

使用 Lambda 表达式创建匿名函数,即没有名称的函数。lambda 表达式非常适合快速创建在代码中以后不会用到的函数。

麻烦的写法:

def multiply(x, y):

return x * y

使用Lambda之后:

double = lambda x, y: x * y

Lambda 函数的组成部分:

关键字 lambda 表示这是一个 lambda 表达式。

lambda 之后是该匿名函数的一个或多个参数(用英文逗号分隔),然后是一个英文冒号 :。和函数相似,lambda 表达式中的参数名称是随意的。

最后一部分是被评估并在该函数中返回的表达式,和你可能会在函数中看到的 return 语句很像。

备注:鉴于这种结构,lambda 表达式不太适合复杂的函数,但是非常适合简短的函数。

Lambda 表达式[相关练习]

map() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个将该函数应用到可迭代对象的每个元素的迭代器。下面的代码使用 map() 计算 numbers 中每个列表的均值,并创建列表 averages, 通过将 mean 函数替换为在 map() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。

numbers = [

[34, 63, 88, 71, 29],

[90, 78, 51, 27, 45],

[63, 37, 85, 46, 22],

[51, 22, 34, 11, 18]

]

def mean(num_list):

return sum(num_list) / len(num_list)

averages = list(map(mean, numbers))

print(averages)

使用lambda重写后:

numbers = [

[34, 63, 88, 71, 29],

[90, 78, 51, 27, 45],

[63, 37, 85, 46, 22],

[51, 22, 34, 11, 18]

]

averages = list(map(lambda x: sum(x) / len(x), numbers))

print(averages) # [57.0, 58.2, 50.6, 27.2]

filter() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个由可迭代对象中的特定元素(该函数针对该元素会返回 True)组成的迭代器。下面的代码使用 filter() 从 cities 中获取长度少于 10 个字符的名称以创建列表 short_cities。通过将 is_short 函数替换为在 filter() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。

cities = [“New York City”, “Los Angeles”, “Chicago”, “Mountain View”, “Denver”, “Boston”]

def is_short(name):

return len(name) < 10

short_cities = list(filter(is_short, cities))

print(short_cities)

使用lambda重写后:

cities = [“New York City”, “Los Angeles”, “Chicago”, “Mountain View”, “Denver”, “Boston”]

short_cities = list(filter(lambda n: len(n) < 10, cities))

print(short_cities) # [‘Chicago’, ‘Denver’, ‘Boston’]

希望本文所述对大家Python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180812.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月17日 下午11:36
下一篇 2022年10月17日 下午11:36


相关推荐

  • 🚀彻底颠覆传统开发!Claude Code再添利器!BMad-Method多智能体协作框架轻松打造敏捷AI驱动开发工作流!自动生成PRD文档、架构设计!支持Cursor、Cline、windsurf等

    🚀彻底颠覆传统开发!Claude Code再添利器!BMad-Method多智能体协作框架轻松打造敏捷AI驱动开发工作流!自动生成PRD文档、架构设计!支持Cursor、Cline、windsurf等

    2026年3月15日
    3
  • Windows日志分析工具_Windows7激活工具

    Windows日志分析工具_Windows7激活工具Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志系统日志:%SystemRoot%\System32\Winevt\Logs\System.evtx记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。应用程序日志:%SystemRoot%\System32\Winevt\Logs\Application.evtx包含由应用程序或系统程序记录的事件,主要记录程序运行程序方面的事件。安全日志:%SystemRoot%\Syste

    2025年9月2日
    9
  • mediapipe手部关键点坐标

    mediapipe手部关键点坐标

    2026年3月15日
    2
  • origin 2018安装教程与安装包

    origin 2018安装教程与安装包百度网盘地址:链接:https://pan.baidu.com/s/11Lo7R4YvldtkcKZxb5vbXQ提取码:aq8o这里是安装包大概1.8G,比较大。如果链接失效可以联系我913121976@qq.com邮箱。有什么问题可以一起交流!1、打开安装文件夹里的setup,进行安装。点击下一步2、同意许可,下一步。点击下一步3、客户信息,前两个可以随便填写,第三个…

    2022年4月27日
    138
  • HTML中meta标签的作用与使用

    HTML中meta标签的作用与使用META标签用来描述一个HTML网页文档的属性META标签可分为两大部分:HTTP-EQUIV和NAME变量。HTTP实例HTML代码实例中有一项内容是&lt;metahttp-equiv="Content-Type"content="text/html;charset=gb2312"&gt;其作用是指定了当前文档所使用的字符编码为gb2312,也就是中文简体字符。根据这一行代码,浏览器就可以…

    2022年6月1日
    39
  • TCP、UDP绑定同一端口通信的解释

    TCP、UDP绑定同一端口通信的解释昨日突然讨论起TCP与UDP是否可以在同一端口进行绑定,通信。在印象当中我记得是可以的,今日google了相关资料,确定以及肯定的:TCP、UDP可以绑定同一端口来进行通信:       网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。       按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,网络通信的最…

    2022年6月13日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号