python中的lambda表达式

news2025/2/11 20:51:31

目录

1.lambda函数的简介

2.为什么要用lambda函数       

3.lambda函数的效率

4.lambda函数常用举例

        4.1 多参数

        4.2 与map函数进行使用

        4.3 求两个列表元素的和

5.个人见解


1.lambda函数的简介

  • lambda函数是一种匿名函数,即没有名字的函数
  • 使用lambda保留字定义,函数名是返回结果
  • lambda函数的函数体只是一个表达式
  • lambda函数用于定义简单的、能够在一行内表示的函数
  • lambda表达式” : “后面,只能有一个表达式,def则可以有多个。
  • lambda一般用来定义简单的函数,而def可以定义复杂的函数

        例如:

g=lambda x:x+1
print(g(1))
#结果为2

        可以这样认为,lambda作为一个表达式,定义了一个匿名函数。等价于:

def g(x):
    return x+1

         实质:

 

2.为什么要用lambda函数       

        1.1 在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。

        1.2 用lambda函数首先减少了代码的冗余,其次,用lambda函数,不用费神地去命名一个函数的名字,可以快速的实现某项功能,最后,lambda函数使代码的可读性更强,程序看起来更加简洁。

        1.3 根本原因:我也不想用啊,可好多参考文章就是用lambda,我又看不懂......

 

3.lambda函数的效率

        和def函数没有区别

4.lambda函数常用举例

        4.1 多参数

g=lambda x,y,z: x+2*y+z**2
print(g(1,2,3)) #14

#也可以直接传入参数
w=(lambda x,y,z:x+2*y+z**2)(1,2,3)
print(w)       #14

        

        4.2 与map函数进行使用

a=map(lambda x : x**2,[1,2,3,4])
for i in a:
    print(i,end=" ")    
    
#1 4 9 16 

        4.3 求两个列表元素的和

a = [1,2,3,4]
b = [5,6,7,8]
print(list(map(lambda x,y: x+y,a,b)))

5.个人见解

        很少在写代码过程中使用lambda函数,因为个人觉得虽然lambda函数使代码结构更加紧凑,但却使代码看起来不是那么清晰。学会lambda的好处就是可以更好的理解其他人的代码,毕竟一万个程序员有一万零一种代码风格。

        大二的时候上程序设计课,当时老师叫我们用pyqt 和 tkinter写ui的时候碰到挺多的:lambda是拿来当中间函数的,tkinter事件处理函数传递参数就要用到lambda。有这方面需要的还是掌握lambda比较好。

 文章参考:传送锚点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt(C++)调用libass库完成ASS字幕渲染显示(高级版)

一、项目实现 1.1 实现效果 1.2 开发环境 Qt版本: 5.12.6 编译器: MinGW_32位、MSVC_32位(2017) 操作系统: win10 X64 1.3 实现功能 当前利用Qt+libass库完成了ASS字幕渲染显示,字幕渲染也就是将ASS文件里的当前时间段的字幕信息传递给libass库,渲染之后返回一张图片,在…

chatgpt赋能python:如何使用Python得到8/3的小数部分

如何使用Python得到8/3的小数部分 在数学中,8/3是一个分数,可以被表示为2.6666666666666665。然而,在Python中,我们可以使用一些技巧来得到它的小数部分。 什么是小数部分? 小数部分是一个数的小数点后的部分&#…

Spring Security--密码加密

项目的话,我们是继续写的,此时项目是已经实现了数据库的用户名,密码登录,且用的是自己的登录页面。 密码加密我们用到这PasswordEncoder这个接口 public interface PasswordEncoder {String encode(CharSequence rawPassword);b…

gitlab+jenkins+harbor实现CI/CD(1)——环境准备

gitlabjenkinsharbor实现CI/CD(1)——环境准备 前言一、git工具git安装初始化版本库登录上传 二、gitlab使用gitlab部署登录设置克隆项目 jenkins使用安装jenkins登录设置 前言 提示:这里可以添加本文要记录的大概内容: 例如&am…

D349周赛:注意题目提示里,数据范围隐含的算法复杂度提示

文章目录 6470.既不是最大值也不是最小值完整版为什么两个for循环时间复杂度还是不变的 6465.执行子串操作后的字典序最小字符串思路最开始的写法题意理解的问题 修改版a必须单独拿出来的原因 6449.收集巧克力思路注意提示信息 完整版补充:由数据范围反推算法复杂度…

统计学中的「标准差和方差」

标准差(Standard deviation) 简单来说,标准差是一组数值自平均值分散程度的一种测量观念。一个较大的标准差,代表大部分的数值和其平均值之间差异较大,一个较小的标准差,代表这些数值较接近平均值。 例如: 两组数的集…

开源数字人、虚拟直播部署教程

TheRamU/Fay: 语音互动,直播自动带货 虚拟数字人 (github.com) gitee fay: 这是一个数字人项目,包含python内核及ue数字人模型,可以用于做数字助理及自动直播,又或者作为你的应用入口也很帅 (gitee.com) 2022.10.27 补充mac上的安装办法:(34条消息) Fay数字人开源项目…

prisma 学习记录

1、prisma 可以看做是一个 ORM。 安装 prisma npm install prisma -D 设置要链接的数据库 npx prisma init --datasource-provider sqlite --datasource-provider 要使用的数据库 2、prisma 中的模型, 表示底层数据库中的表或者集合。 生成 Prisma Client API 的基…

chatgpt赋能python:Python中的延迟:如何暂停程序执行?

Python中的延迟:如何暂停程序执行? 如果你在编写Python程序时需要实现延迟效果,比如等待某些条件满足后再进行下一步操作,那么你可能需要使用Python提供的延迟功能。这篇文章将介绍Python中的延迟实现方法,并提供几个…

记一次面试中的相关问题

1. protobuf内部的实现原理 序列化与反序列化,比如对于数字它要求根据数字的大小选择存储空间,小于15的数字只用1个字节来表示,大于15的数用2个字节来表示,以此类推,这样要求可以尽可能地节省空间。Protobuf的一大特点…

chatgpt赋能python:Python教程:如何建立一个空列表

Python教程:如何建立一个空列表 Python是一种广泛应用于科学计算、数据分析、机器学习等领域的高级编程语言。在Python中,列表是一种非常重要的数据类型,可以用来存储许多不同类型的数据。在本文中,我们将介绍如何在Python中建立…

OJ Primed Subsequence

原题链接:传送锚点 1.题目 Description Given a sequence of positive integers of length n, we define a primed subsequence as a consecutive subsequence of length at least two that sums to a prime number greater than or equal to two. For ex…

【嵌入式IMAGE 3】opencv的搭建

1. OpenCV源代码下载地址 https://opencv.org/releases/ 2. 在windows平台编译(mingw版本) 2.1 下载cmake https://cmake.org/files/ 2.2 配置编译器环境变量 2.3 打开cmake-gui.exe a.Use default native compilers 使用默认的本机编译器 b.Specify n…

MyBatis(全)

文章目录 什么是MyBatis?MyBatis快速入门查询user表中所有数据 Mapper代理开发使用Mapper代理方式完成入门案例 MyBatis核心配置文件配置文件完成增删改查案例:完成品牌数据的增删改查操作准备环境查询-查询所有数据查询-查看详情查询-条件查询--1.多条件查询方法1…

css移动端

目录 谷歌模拟器 屏幕分辨率 视口 二倍图 适配方案 rem 简介 问题 媒体查询 移动端 设备宽度不同,HTML标签字号设置多少合适 flexible.js rem-移动端适配 less 注释 运算 嵌套 变量 导入 导出 禁止导出 谷歌模拟器 模拟移动设备,方…

MySQL Community Server的安装配置教程(Windows版本)

(1)了解MySQL Community Server: MySQL Community Server是开源的MySQL数据库服务的名称。它是MySQL AB在2000年推出的一个开源数据库服务器,现在由Oracle公司维护和管理。 MySQL Community Server是一个关系型数据库系统&#…

通讯录管理系统(cpp)

一 系统需求 主要用C来实现一个通讯录管理系统 需要包含以下功能 添加联系人:向通讯录中添加新人,信息包括姓名、性别、年龄、联系电话、家庭住址,最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按…

【Spring】— 动态SQL :MyBatis的关联映射

目录 MyBatis的关联映射1、关联关系概述2、MyBatis中的关联关系2.1 一对一2.2 一对多2.3 多对多 MyBatis的关联映射 在实际应用中,对数据库的操作会涉及多张表,这在面向对象中就涉及对象与对象之间的关联关系。针对多表之间的操作,MyBatis提…

全志V3S嵌入式驱动开发(wifi驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 荔枝派上面除了支持v3s自带的有线网口,还带有一个支持sd协议的esp 8089 wifi模块。有了这个模块,v3s没有网线,也…

chatgpt赋能python:Python程序与SEO:如何建立程序使您的网站优化更好

Python程序与SEO:如何建立程序使您的网站优化更好 今天,越来越多的网站和在线业务转向搜索引擎优化,以吸引更多访问者和客户。Python编程语言是一种快速、灵活、易于学习的工具,如果正确使用它可以使您的网站SEO更好。下面我们来…