python常用高阶函数

map函数

  • map(function, iterable1[, iterable2, …])
    map() 是 Python 内置的高阶函数,它用于将一个或多个可迭代对象(如列表、元组、字符串等)中的每个元素按照指定的函数进行处理,并返回一个迭代器(iterator),其生成结果为经过函数映射后的元素序列。

    function: 必需参数,指定应用于每个元素的函数。它可以是用户定义的函数、内置函数、或者使用 lambda 表达式创建的匿名函数。
    iterable1, iterable2, …: 可选参数,一个或多个可迭代对象。map() 将对这些对象中对应的元素逐个应用
    注:当提供多个可迭代对象时,它们的长度必须相等,function 将按位置分别接收每个可迭代对象对应位置的元素作为参数。

    返回值
    map() 函数返回一个迭代器对象。通过迭代(使用 for 循环、list() 函数、tuple() 函数等)可以获取映射结果的实际序列。

vec = [1, 2, 3, 4, 5]
print(list(map(lambda v: str(v), vec)))
# ['1', '2', '3', '4', '5']numbers1 = [10, 20, 30]
numbers2 = [5, 6, 7]
products = list(map(lambda x, y: x * y, numbers1, numbers2))
print(products)
# [50, 120, 210]

filter函数

  • filter(function, iterable)

    filter() 是 Python 内置的高阶函数,用于对一个可迭代对象(如列表、元组、字符串等)进行筛选,保留那些使指定函数返回值为True的元素,并返回一个迭代器(iterator),其中包含筛选后的元素序列。

even_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 保留为True的结果
even_filter = filter(lambda x: x % 2 == 0, even_numbers)
print(list(even_filter))
# [2, 4, 6, 8, 10]

zip函数

  • zip()
    将多个可迭代对象的元素打包成一个元组,返回一个迭代器。当各个可迭代对象长度不一致时,以最短的对象为准。
str_list = ["one", "two", "three"]
num_list = [1, 2]
ret = zip(str_list, num_list)  # 不会报错,直接结束
print(dict(ret))
# {'one': 1, 'two': 2}str_list = ["one", "two", "three"]
num_list = [1, 2, 3]
for i in zip(str_list, num_list):print(i)  # ('one', 1)
ret_list = list(zip(str_list, num_list))
ret_dict = dict(zip(str_list, num_list))
print(ret_list)
# [('one', 1), ('two', 2), ('three', 3)]
print(ret_dict)
# {'one': 1, 'two': 2, 'three': 3}numbers1 = [10, 20, 30]
for index, value in enumerate(numbers1):print(index, "=", value)for index, value in enumerate(numbers1, start=1):  # 自定义indexprint(index, "=", value)

sorted函数

  • sorted(iterable, *, key=None, reverse=False)
    接收一个可迭代对象,返回一个排序后的列表。可选参数 key 指定一个函数,用于提取每个元素用于排序的值;reverse 参数为 True 时,表示降序排列。

    iterable:必选参数,指定要排序的可迭代对象。它可以是任何可迭代的数据结构,如列表、元组、字符串、字典视图(如 .keys()、.values() 或 .items())、文件对象、生成器表达式等。
    key:可选参数,用于指定一个函数(或可调用对象),该函数接收一个元素作为参数,并返回一个值作为排序依据。sorted 函数会根据这个返回值对元素进行排序。如果不指定 key,则默认按元素本身的值进行比较排序。
    reverse:可选参数,布尔类型,表示是否逆序排列。当 reverse=True 时,sorted 函数将返回降序排列的结果;默认值为 False,此时返回升序排列的结果。

numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# [1, 2, 3, 4, 5]# 复杂数据
data = [("验", 1), ("证", 2), ("码", 3)]
# 过滤按元组的第二个元素进行降序
print(sorted([_ for _ in data if _[1] >= 1], key=lambda x: x[1], reverse=True))
# [('码', 3), ('证', 2), ('验', 1)]

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

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

相关文章

JS----随机数字,字符,数组

随机数字 function random(min 0, max 100) {if (min > 0 && max > 0 && max > min) {const gab max - min 1return Math.floor(Math.random() * gab min)}return 0 }输入格式 随机字符 function randomStr (len 32) {var s for (; s.lengt…

电力调度自动化系统由什么构成?

电力调度自动化系统由什么构成? 电力调度自动化系统通过数据采集与传输、数据处理与存储、监视与控制、优化与决策、通信网络和系统应用软件等构成,实现对电力系统的监控、控制和优化。 电力调度自动化系统是一种集成了计算机技术、通信技术、自动化技术…

SpringBoot下载Excel模板功能

目录 一、前端只需要填写一个a标签调用一下后端接口即可 二、后端 2.1 准备一个excel模板 ,将其复制到resource目录下的templates文件夹下 2.2 接着复制下列代码即可 三、运行效果 一、前端只需要填写一个a标签调用一下后端接口即可 1.1 先代理一下防止跨域 e…

40-50W 1.5KVDC 隔离 宽电压输入 DC/DC 电源模块 ——TP40(50)DC 系列

TP40(50)DC系列电源模块额定输出功率为40-50W、应用于2:1、4:1电压输入范围 9V-18V、18V-36V、36V-75V、9V-36V、18V-75V的输入电压环境,输出电压精度可达1%,可广泛应用于通信、铁路、自动化以及仪器仪表等行业。

【系统分析师】软件工程

文章目录 1、信息系统生命周期2、软件开发模型2.1 原型及其演化2.2 增量模型和螺旋模型2.3 V模型、喷泉模型、快速应用开发2.4 构件组装模型2.5 统一过程-UP2.6 敏捷方法 3、逆向工程4、净室软件工程 【写在前面】 记录了一系列【系统分析师】文章,点击下面的链接&a…

【鸿蒙开发】后台任务

1. 功能介绍 设备返回主界面、锁屏、应用切换等操作会使应用退至后台。 2. 后台任务类型 OpenHarmony标准系统支持规范内受约束的后台任务,包括短时任务、长时任务、延迟任务、代理提醒和能效资源。 开发者可以根据如下功能介绍,选择合适的后台任务以…

软件测试架构体系之软件测试基本流程图

前言: 采用通用的测试流程,能高效、高质量的完成软件测试工作,有助于减少沟通成本,对各阶段产出有明确认知等等。最终目标:实现软件测试规范化、标准化。以下为非通用标准,仅供大家参考。 一、软件测试流…

DSView Windows平台编译

在Windows平台编译开源逻辑分析仪软件DSView,因官方没有公布DSView Windows平台源码,主要解决Windows平台以下问题: libusb_get_pollfds不支持Windows平台,导致无法采集数据插入设备后,无法自动识别设备,U…

vue3中web前端JS动画案例(一)

上述案例主要使用定时器&#xff0c;和绝对定位产生动画 <script setup> import { ref, onMounted, watch } from vue // ----------------------- 01 js 动画介绍--------------------- // 1、匀速运动 // 2、缓动运动&#xff08;常见&#xff09; // 3、透明度运动 //…

【深度学习实战(18)】torch模型转onnx模型,使用netron根据查看onnx结构

一、ONNX介绍 简单来说&#xff0c;可以把ONNX当做一个中间格式。绝大多数的机器学习/深度学习框架都可以将自身的模型转换成ONNX&#xff0c;同样也能把ONNX转换成自身框架的格式&#xff0c;如下图所示。 二、转ONNX模型代码 import torch import torchvision.models as …

利用selenium发挥vip残存的价值

历史版本谷歌浏览器驱动下载地址 https://chromedriver.storage.googleapis.com/index.html 找到与你电脑当前谷歌浏览器版本一致的驱动然后下载下来(大版本一致即可)。我本地版本是 99.0.04844.51 我这里把 chromedriver 放到 /usr/local/bin 下面了。 启动测试窗口 这里需要…

[tkinter实现]汉字笔顺小软件

软件简介 本软件旨在帮助小学生通过互动式学习掌握汉字的基本笔画和笔顺。软件采用Tkinter库构建&#xff0c;提供了一个用户友好的图形界面&#xff0c;适合小学生使用。 主要功能&#xff1a; 汉字展示&#xff1a;软件能够展示单个汉字&#xff0c;并以动画形式演示其标准…

网络基础(day2)

一、进制转换 在计算机底层通信&#xff0c;以及数据处理都是采用二进制&#xff0c;也就是1和0传递信息&#xff0c;因此进制转换是非常重要的知识点。 十进制&#xff08;DEC&#xff09;【逢十进一 】案例&#xff1a; 按权展开 权&#xff1a;10的N次幂123123二进制&am…

羊大师分析,夏季羊奶的适合人群有哪些?

羊大师分析&#xff0c;夏季羊奶的适合人群有哪些&#xff1f; 夏季羊奶的适合人群相当广泛&#xff0c;主要包括以下几类人群&#xff1a; 生长发育中的孩子&#xff1a;羊奶富含营养&#xff0c;特别是蛋白质和矿物质&#xff0c;对孩子的生长发育有积极的促进作用。 中老年…

【HarmonyOS】Stage 模型 - 基本概念

一、项目结构 如图1所示&#xff1a; 图1 从项目结构来看&#xff0c;这个应用的内部包含了一个子模块叫 entry&#xff0c;模块是应用的基本功能单元&#xff0c;它里面包含源代码、资源、配置文件等。 像这样的模块在应用内部可以创建很多。但模块整体来讲就分成两大类&am…

Python 异常处理与日志记录

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 异常处理是任何编程语言中的重要组成部分&#xff0c;Python 也不例外。Python 提供了丰富的…

换脸插件升级导致SDWebUI无法启动cannot import name ‘Undefined‘ from ‘pydantic.fields‘

今天在一台新的机器环境装了SDWEBUI&#xff0c;都使用最新的版本&#xff0c;升级了下换脸的插件&#xff0c;于是乎启动崩溃了。错误如下 Launching Web UI with arguments: --listen --skip-torch-cuda-test --disable-nan-check --skip-version-check --skip-python-versi…

鸿蒙 harmonyos 线程 并发 总结 async promise Taskpool woker(三)多线程并发 Worker

Worker Worker是与主线程并行的独立线程。创建Worker的线程称之为宿主线程&#xff0c;Worker自身的线程称之为Worker线程。创建Worker传入的url文件在Worker线程中执行&#xff0c;可以处理耗时操作但不可以直接操作UI。 Worker主要作用是为应用程序提供一个多线程的运行环境…

kanzi工程辅助解析

背景:实际开发过程中&#xff0c;使用kanzi studio工程&#xff0c;遇到一个很大的问题&#xff0c;就是在多工程&#xff0c;多预设件&#xff0c;复杂绑定算式情况下&#xff0c;很难梳理接口绑定情况&#xff0c;而且kanzi自带的查找很不好用。尤其是拿到一个新工程&#xf…

春季打卡圣地|超出片的成都文创产业园

春季拍照还在去人民公园、青龙湖吗&#xff1f;这个春天来点不一样的&#xff0c;就在金牛区的成都文创产业园——国际数字影像产业园旁&#xff0c;沙河源公园占地面积约150亩&#xff0c;地下室面积约4000平方米&#xff0c;这里的花能让摄影爱好者们拍个够。 国际数字影像产…