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

《Pyhon入门:07 map与filter函数的常用用法》

Pyhon入门之map与filter函数常用用法

    • 一、 map函数的常用用法
      • 1. 基本用法
      • 2. 使用lambda表达式
      • 3. 多个可迭代对象
      • 4. 使用自定义函数
      • 5. 返回迭代器
      • 6. 与filter函数结合使用
    • 二、 filter函数的常用用法

一、 map函数的常用用法

1. 基本用法

map()函数是Python内置的一个函数,用于将一个函数应用于可迭代对象的每个元素,并返回一个迭代器。

def square(n):return n * nnumbers = [1, 2, 3, 4, 5]
result = map(square, numbers)
print(list(result))  # 输出: [1, 4, 9, 16, 25]

2. 使用lambda表达式

map()函数可以与lambda表达式一起使用,以简化代码。

numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * x, numbers)
print(list(result))  # 输出: [1, 4, 9, 16, 25]

3. 多个可迭代对象

map()函数可以接受多个可迭代对象作为参数,并将函数应用于每个可迭代对象的对应元素。

numbers1 = [1, 2, 3, 4, 5]
numbers2 = [6, 7, 8, 9, 10]
result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result))  # 输出: [7, 9, 11, 13, 15]

4. 使用自定义函数

map()函数可以接受一个自定义函数作为参数,并将该函数应用于可迭代对象的每个元素。

def add_one(n):return n + 1numbers = [1, 2, 3, 4, 5]
result = map(add_one, numbers)
print(list(result))  # 输出: [2, 3, 4, 5, 6]

5. 返回迭代器

map()函数返回一个迭代器,而不是一个列表。这意味着你可以使用for循环来遍历结果,而不需要将其转换为列表。

numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * x, numbers)
for num in result:print(num)  # 输出: 1, 4, 9, 16, 25

6. 与filter函数结合使用

map()函数可以与filter()函数结合使用,以过滤可迭代对象中的元素。

numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * x, filter(lambda x: x % 2 == 0, numbers))
print(list(result))  # 输出: [4, 16]

以上是map()函数的常用用法。

二、 filter函数的常用用法

Python filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 函数。

filter() 函数的基本语法如下:

filter(function, iterable)
  • function:判断函数,接收一个参数,返回布尔值,TrueFalse
  • iterable:可迭代对象。

下面是一个使用 filter() 函数的例子,过滤出列表中的所有偶数:

def is_even(n):return n % 2 == 0numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))

在上面的代码中,is_even() 函数是一个判断函数,用于判断一个数是否为偶数。filter() 函数将 is_even() 函数和 numbers 列表作为参数,过滤出 numbers 列表中的所有偶数,返回一个迭代器对象。最后,使用 list() 函数将迭代器对象转换为列表。

另外,filter() 函数也可以使用匿名函数(lambda 函数)作为判断函数,例如:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))

在上面的代码中,lambda x: x % 2 == 0 是一个匿名函数,用于判断一个数是否为偶数。filter() 函数将这个匿名函数和 numbers 列表作为参数,过滤出 numbers 列表中的所有偶数,返回一个迭代器对象。最后,使用 list() 函数将迭代器对象转换为列表。

以上是 Python filter() 函数的常用用法,包括使用判断函数和匿名函数作为参数,以及将过滤结果转换为列表。

相关文章:

《Pyhon入门:07 map与filter函数的常用用法》

Pyhon入门之map与filter函数常用用法 一、 map函数的常用用法1. 基本用法2. 使用lambda表达式3. 多个可迭代对象4. 使用自定义函数5. 返回迭代器6. 与filter函数结合使用 二、 filter函数的常用用法 一、 map函数的常用用法 1. 基本用法 map()函数是Python内置的一个函数&…...

基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:设备分类,设备信息,维修人员,报修信息,维修进度,院系,消防知识,培训记录,培训信息,备件信息,备件申请,派发信息,采购信息 开题报告内容 基于Vue框架的高校消防设施管理系统开题报告 一、项目背景与意义 随着高校规模的不断扩大和校园建…...

ffmpeg视频滤镜:定向模糊-dblur

滤镜简述 dblur 官网链接 > https://ffmpeg.org/ffmpeg-filters.html#dblur 有一个模糊滤镜&#xff0c;我试了一下&#xff0c;没有感觉到它的特殊之处, 这里简单介绍一下。 滤镜使用 滤镜的参数 angle <float> ..FV.....T. set angle (from 0 t…...

【数据结构初阶】二叉树---堆

二叉树-堆的实现 一、树的概念&#xff08;什么是树&#xff09;二、二叉树的概念及结构2.1 二叉树的概念2.2 二叉树的性质2.3 二叉树存储结构 三、二叉树的顺序结构3.1 堆的概念及结构3.2 堆的向下调整算法3.3堆的创建 四、堆的代码实现4.1 堆的初始化4.2 堆的销毁4.3 堆的插入…...

Lucas带你手撕机器学习——决策树

一、决策树简介 决策树是一种基本的分类与回归方法&#xff0c;它通过树状结构对数据进行分类或预测。每个内部节点代表一个特征&#xff08;属性&#xff09;&#xff0c;每个分支代表特征的一个可能值&#xff0c;而每个叶子节点代表一个分类或预测值。由于其直观和易于理解…...

OpenIPC开源FPV之Ardupilot配置

OpenIPC开源FPV之Ardupilot配置 1. 源由2. 问题3. 分析3.1 MAVLINK_MSG_ID_RAW_IMU3.2 MAVLINK_MSG_ID_SYS_STATUS3.3 MAVLINK_MSG_ID_BATTERY_STATUS3.4 MAVLINK_MSG_ID_RC_CHANNELS_RAW3.5 MAVLINK_MSG_ID_GPS_RAW_INT3.6 MAVLINK_MSG_ID_VFR_HUD3.7 MAVLINK_MSG_ID_GLOBAL_P…...

合并数组的两种常用方法比较

在 JavaScript 中&#xff0c;合并数组的两种常用方法是使用扩展运算符 (...) 和使用 push 方法。 使用扩展运算符 this.items [...this.items, ...data.items]; 优点&#xff1a; 易于理解&#xff1a;使用扩展运算符的语法非常直观&#xff0c;表达了“将两个数组合并成一个…...

qt 下载安装

1. 官网地址 https://www.qt.io/ 2. 下载 使用邮箱注册账号&#xff0c;登录&#xff0c;后边安装时也用的到 登录后&#xff1a; 这里需要电话号验证&#xff0c;电话号需要正确的&#xff0c;其他随便填&#xff0c;电话号中国区前需要86&#xff0c; 验证后自动下载 …...

Oracle SQL Developer 同时打开多个table的设置

Oracle SQL Developer 同时打开多个table的设置 工具 》 首选项 》数据库 》对象查看器&#xff0c;勾选 “自动冻结对象查看器窗口”...

NVIDIA发布Nemotron-70B-Instruct,超越GPT-4o和Claude 3.5的AI模型

一、Nemotron-70B-Instruct 是什么 Nemotron-70B-Instruct 是由 NVIDIA 基于 Meta 的 Llama 3.1-70B 模型开发的先进大语言模型&#xff08;LLM&#xff09;。该模型采用了新颖的神经架构搜索&#xff08;Neural Architecture Search&#xff0c;NAS&#xff09;方法和知识蒸馏…...

死锁(Deadlock)C#

在多线程编程中&#xff0c;死锁&#xff08;Deadlock&#xff09;是一种非常常见的问题&#xff0c;通常发生在两个或多个线程相互等待对方持有的锁&#xff0c;导致它们都无法继续执行。要避免死锁&#xff0c;需要了解死锁的四个必要条件以及相应的解决策略。 死锁的形成 …...

前端-基础CSS 知识总结

1.书写位置:title 标签下方添加 style 双标签,style 标签里面书写 CSS 代码。 <title>CSS 初体验</title> <style>/* 选择器 { } */p {/* CSS 属性 */color: red;} </style><p>体验 CSS</p> <link rel="stylesheet" href=…...

最新版本jdbcutils集成log4j做详细sql日志、自动释放连接...等

maven坐标 <!-- MySQL 8 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependency><!-- Druid连接池 --><dependency><groupId&…...

jQuery快速填充非form数据

jQuery快速填充非form数据 先看看jQuery根据name填充form表单数据 <!DOCTYPE html> <html><head><script src"https://code.jquery.com/jquery-3.6.0.min.js"></script> </head><body><form id"myForm">…...

语音语言模型最新综述! 关于GPT-4o背后技术的尝试

近期,大型语言模型(LLMs)在生成文本和执行各种自然语言处理任务方面展现出了卓越的能力,成为了强大的AI驱动语言理解和生成的基础模型。然而&#xff0c;仅依赖于基于文本模态的模型存在显著局限性。这促使了基于语音的生成模型的发展,使其能够更自然、直观地与人类互动。 为了…...

根据用户选择的行和列数据构造数据结构(跨行跨列)

方案一 这段代码的功能是根据用户选择的行和列数据&#xff0c;生成一个适合复制粘贴的字符串表格。代码会先按列的 id 从小到大排序&#xff0c;再根据行列的选择关系将数据按顺序填入表格&#xff0c;每行之间使用换行符分隔&#xff0c;每列之间使用制表符分隔。如果某一行…...

Spark教程5-基本结构化操作

加载csv文件 df spark.read.format("json").load("/data/flight-data/json/2015-summary.json")Schema 输出Schema df.printSchema()使用Schema读取csv文件&#xff0c;以指定数据类型 from pyspark.sql.types import StructField, StructType, Strin…...

内置数据类型、变量名、字符串、数字及其运算、数字的处理、类型转换

内置数据类型 python中的内置数据类型包括&#xff1a;整数、浮点数、布尔类型&#xff08;以大写字母开头&#xff09;、字符串 变量名 命名变量要见名知意&#xff0c;确保变量名称具有描述性和意义&#xff0c;这样可以使得代码更容易维护&#xff0c;使用_可以使得变量名…...

Win/Mac/Android/iOS怎麼刪除代理設置?

設置代理設置的主要構成 IP 地址和端口 這些是代理伺服器配置的最基本組件。代理伺服器的IP地址引導互聯網流量&#xff0c;而端口號指定伺服器上的通信通道。 為什麼要刪除代理設置&#xff1f; 刪除代理設置通常是為了解決網路問題、提高速度、恢復安全性或過渡到新的網路…...

数据结构------手撕顺序表

文章目录 线性表顺序表的使用及其内部方法ArrayList 的扩容机制顺序表的几种遍历方式顺序表的优缺点顺序表的模拟实现洗牌算法 线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...