当前位置: 首页 > 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;…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...

STL 2迭代器

文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器&#xff1f; 1.迭代器…...

第6章:Neo4j数据导入与导出

在实际应用中&#xff0c;数据的导入与导出是使用Neo4j的重要环节。无论是初始数据加载、系统迁移还是数据备份&#xff0c;都需要高效可靠的数据传输机制。本章将详细介绍Neo4j中的各种数据导入与导出方法&#xff0c;帮助读者掌握不同场景下的最佳实践。 6.1 数据导入策略 …...

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决 2025/6/7 17:20 缘起&#xff1a; 1、根据RK809的DATASHEET&#xff0c;短按开机【100ms/500ms】/长按关机&#xff0c;长按关机。6s/8s/10s 我在网上找到的DATASHE…...

如何用 HTML 展示计算机代码

原文&#xff1a;如何用 HTML 展示计算机代码 | w3cschool笔记 &#xff08;请勿将文章标记为付费&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 在编程学习和文档编写过程中&#xff0c;清晰地展示代码是一项关键技能。HTML 作为网页开发的基础语言&#x…...

用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析

n8n 的 HTTP Request HTML 节点组合是个实用又高效的工具。这篇文章就带你一步步搞懂如何用它们提取静态网页内容&#xff0c;重点解析 HTML 节点参数和 CSS 选择器&#xff0c;让你轻松上手 。 一、整体流程概览 我们的目标是从静态网页中提取特定内容&#xff0c;流程分两…...