当前位置: 首页 > news >正文

python中lambda、yield、map、filter、reduce的使用

1、 匿名函数lambda

python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数,属于“一次性”函数。

#例1:求两数之和
f = lambda x, y: x + y
print(f(5, 1))#例2:求平方和
print((lambda x, y: x**2 + y**2) (3, 4)) #执行结果6 25

2、关键字 yield

yield可以将函数执行的中间结果返回但是不结束程序。

yield关键字可以把一个函数变成一个生成器(generator)。

实现一个range函数

>>> def fun(x):
...     i = 0
...     while i<x:
...             yield i
...             i+=1
...
>>> for i in fun(7):
...     print(i)
...
0
1
2
3
4
5
6

实现斐波那契数列

>>> def fab(x):
...     a, b, n = 0, 1, 0
...     while n<x:
...             a, b = b, a+b
...             yield b
...             n += 1
...
>>> for i in fab(10):
...     print(i)
...
1
2
3
5
8
13
21
34
55
89

3、遍历函数(map)

map函数用于遍历序列。

>>> def func(a, b):
...     return a+b
...
>>> li = [1,2,3,4]
>>> def func(a):
...     return a+100
...
>>> print(list(map(func, li)))
[101, 102, 103, 104]  >>> li = [1,2,3,4]
>>> print(list(map(lambda x: x**2, li)))
[1, 4, 9, 16]>>> li = [1,2,3,4]
>>> lo = [5,6,7,8]
>>> print(list(map(lambda x, y: x**2 + y**2, li, lo)))
[26, 40, 58, 80]
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(map(lambda x: x > 5, li)))
[False, False, False, False, False, True, True, True, True]

4、筛选函数(filter)

筛选函数用于对序列中的元素进行筛选,最终获取符合条件的序列。

>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(filter(lambda x: x>5, li)))
[6, 7, 8, 9]

5、累计函数(reduce)

对序列中的所有函数进行类操作。

>>> from functools import reduce
>>> li = [1,2,3,4,5]
>>> reduce(lambda a, b: a+b, li)
15<br>#第三个参数为初始值,在此值之上进行累计
>>> reduce(lambda a, b: a+b, li, 100)
115
>>> 

相关文章:

python中lambda、yield、map、filter、reduce的使用

1、 匿名函数lambda python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数&#xff0c;属于“一次性”函数。 #例1&#xff1a;求两数之和 f lambda x, y: x y print(f(5, 1))#例2&#xff1a;求平方和 print((lambda…...

第十八章 使用LNMP架构部署动态网站环境

文章目录 第十八章 使用LNMP架构部署动态网站环境一、源码包程序1、源码包的优势2、基本步骤&#xff08;1&#xff09;、下载及解压源码包文件&#xff08;2&#xff09;、编译源码包代码&#xff08;3&#xff09;、生成二进制安装程序&#xff08;4&#xff09;、运行二进制…...

无人值守的IDC机房动环综合运维方案

企业数字化转型以及5G、物联网、云计算、人工智能等新业态带动了数据中心的发展&#xff0c;在国家一体化大数据中心及“东数西算”节点布局的推动下&#xff0c;数据中心机房已成为各大企事业单位维持业务正常运营的重要组成部分&#xff0c;网络设备、系统、业务应用数量与日…...

桌面远程工具推荐

目前市面上的远程工具多如牛毛&#xff0c;很多人不知道怎么选择&#xff0c;下面小编介绍两种桌面远程工具&#xff0c;它们都是跨平台的&#xff0c;均支持Windows&#xff0c;Mac OS&#xff0c;IOS和安卓&#xff0c;分别是RayLink&#xff0c;VNC&#xff0c;好用&#xf…...

MySQL高级——第15章_锁

第15章_锁 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题&#xff0c;当多个线程并发访问某个数据的时候&#xff0c;尤其是针对一-些敏感的数据(比如订单、金额等)&#xff0c;我们就需要保证这个数据在任何 时刻最多只…...

【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)

0、版本说明 Ubuntu22.04对应的ROS2的版本为Humble Hawksbill&#xff08;ros-humble&#xff09; 如果不是在Ubuntu22.04中安装ROS&#xff0c;请参考下面Ubuntu和ROS的版本对应关系 1、更新apt包列表 $ sudo apt update2、设置编码 将ubuntu环境语言编码设置为en_US en_…...

【ChatGPT】体验一下ChatGPT

体验一下ChatGPT 可以帮你写代码、写邮件、编故事的神器 最近OpenAI 发布了备受期待的原型通用 ChatGPT&#xff0c;这是一种基于对话的 AI 聊天界面&#xff0c;算是GPT-3(Generative Pre-trained Transformer 3)的继承者&#xff0c;今天记录一下体验的过程&#xff0c;以前…...

Android 串口通信

可以使用开源usb-serial-for-android 库进行串口通信 添加 usb-serial-for-android 依赖项到项目中。在项目的 build.gradle 文件中添加以下内容&#xff1a; dependencies {// 其他依赖项...implementation com.github.mik3y:usb-serial-for-android:3.5.1// 其他依赖项... …...

Python3 日期和时间

Python 3 提供了强大的日期和时间处理模块&#xff0c;名为 datetime。它可以用于执行日期和时间的各种操作&#xff0c;包括创建、格式化、比较和计算等。 下面是一些常用的日期和时间操作的示例&#xff1a; ### 获取当前日期和时间 要获取当前日期和时间&#xff0c;可以使…...

Go 爬虫三种框架的基本使用介绍

目录 Go 爬虫三种框架的基本使用介绍1. Colly2. Golang.org/x/net/html3. GoQuery Go 爬虫示例使用Go中的http包进行爬虫Step 1&#xff1a;导入包Step 2&#xff1a;发送请求Step 3&#xff1a;读取响应Step 4&#xff1a;解析HTMLStep 5&#xff1a;总结 使用Colley爬虫 结语…...

python实现斐波那契数列详解(黄金分割)

今天给各位分享一个常见的题目&#xff1a;求斐波那契数列前n项分别是什么&#xff08;也称为黄金分割数列&#xff09;&#xff0c;整个数列需满足一个条件即第三项的值等于前两项相加的和&#xff0c;如第一项是1、第二项是1、第三项是2、第四项是 3、第五项是5... 满足公式…...

整合营销和内容营销哪个好,有什么区别

如果想做自媒体运营&#xff0c;不管是品牌还是个体从业者&#xff0c;其实都要学会如何去营销。这个也分为很多种方式&#xff0c;比如整合营销和内容营销。今天&#xff0c;来和大家谈谈整合营销和内容营销哪个好&#xff0c;如何才能将他们应用好? 要想回答这个问题&#x…...

C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列

C#二进制字符串与字节数组互相转换 文章目录 C#二进制字符串与字节数组互相转换前言示例代码实现思路扩展方法说明引用CodePlus库结束语 前言 开发中有时需要将二进制数据转换为字符串或相反。虽然.NET提供了一些用于二进制数据操作的类库&#xff0c;但是它们的使用有时候会比…...

Java 细节汇总(5)-Comparator#compare() 升降序确定

文章目录 1. Comparator#compare() 升降序确定升序分析 1. Comparator#compare() 升降序确定 Java 语言中 Comparator#compare(T o1, T o2) 方法的实现可以决定排序元素的升序降序&#xff0c;但是许多人对升降序如何确定完全没有概念。要理解升降序是如何确定的&#xff0c;首…...

湖北棒球发展报告·棒球5号位

湖北棒球的发展报告与办法应该考虑以下几个因素&#xff1a; 1. 借助政策支持。湖北棒球要想发展&#xff0c;政策支持是必不可少的。政府需要提供足够的资金和政策支持&#xff0c;以帮助俱乐部提高运营能力和加强比赛的组织。获得政府的政策支持&#xff0c;可以促进湖北棒球…...

使用Eclipse 进行远程 Debug 调试

Eclipse远程调试 Java自身支持调试功能&#xff0c;并提供了一个简单的调试工具&#xff0d;&#xff0d;JDB&#xff0c;类似于功能强大的GDB&#xff0c;JDB也是一个字符界面的调试环境&#xff0c;并支持设置断点&#xff0c;支持线程线级的调试。 由于部署环境的差异性&am…...

记第一次出差得出的经验

文章目录 1&#xff1a;背景2&#xff1a;过程3&#xff1a;心得 1&#xff1a;背景 由于上家公司的某种原因&#xff0c;离职来到了新公司&#xff0c;内中原因不足道也。新公司业务方向暂且不说&#xff0c;入职后&#xff0c;个人看着以前的产品视频学习了不到两周&#xf…...

第12章:视图

一、视图 1.常见的数据库对象 ①表table&#xff1a;表是存储数据的逻辑单元&#xff0c;行和列形式存在。列是字段&#xff0c;行是记录。 ②数据字典&#xff1a;系统表&#xff0c;存放数据库相关信息的表。系统表的数据通常是数据库系统维护。 ③约束constraint&#x…...

Word控件Aspose.Words教程:操作 XPS 和 EPS 文档

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API 支持流行文件格式处理&#xff0c;…...

java并发-Exchanger

## 简介 Exchanger是Java并发包中提供的一个用于线程间数据交换的工具类。它允许在两个并发任务之间进行交换对象&#xff0c;当第一个任务调用exchange()方法时&#xff0c;它会阻塞等待另一个任务也调用这个方法&#xff0c;然后双方交换对象&#xff0c;并返回结果&#xf…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...