当前位置:首页 > 科技  > 软件

Python 常用的十个高阶函数

来源: 责编: 时间:2024-06-27 07:55:37 256观看
导读一、map():批量加工数据map()函数对序列中的每个元素应用给定的函数,产生新的迭代器。平方运算numbers = [1, 2, 3, 4]squared = map(lambda x: x**2, numbers)print(list(squared)) # 输出: [1, 4, 9, 16]二、filter(

一、map():批量加工数据

emK28资讯网——每日最新资讯28at.com

map()函数对序列中的每个元素应用给定的函数,产生新的迭代器。emK28资讯网——每日最新资讯28at.com

平方运算

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

二、filter():筛选符合条件的元素

filter()根据提供的函数判断序列中的元素,只保留函数返回值为True的元素。emK28资讯网——每日最新资讯28at.com

过滤偶数

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

三、reduce():累积计算

reduce()函数对序列中的元素进行累积操作,需要导入functools模块。emK28资讯网——每日最新资讯28at.com

求和

from functools import reducenumbers = [1, 2, 3, 4]sum_of_numbers = reduce(lambda x, y: x+y, numbers)print(sum_of_numbers)  # 输出: 10

四、sorted():排序艺术

sorted()不仅可以对序列进行排序,还能接受一个比较函数来自定义排序规则。emK28资讯网——每日最新资讯28at.com

按字符串长度排序

words = ['apple', 'banana', 'cherry', 'date']sorted_words = sorted(words, key=len)print(sorted_words)  # 输出: ['date', 'apple', 'cherry', 'banana']

五、any()与all():逻辑判断利器

any()只要序列中有任一元素满足条件即返回True;all()需所有元素均满足条件。emK28资讯网——每日最新资讯28at.com

检查列表是否有非零元素

nums = [0, 0, 0, 1]has_non_zero = any(nums)print(has_non_zero)  # 输出: True

六、enumerate():索引与元素同行

enumerate()同时返回元素及其索引,常用于循环中。emK28资讯网——每日最新资讯28at.com

打印索引和元素

fruits = ['apple', 'banana', 'mango']for index, fruit in enumerate(fruits):    print(f"Index {index}: {fruit}")

七、zip():合并迭代器

zip()可以将多个可迭代对象的元素配对成元组。emK28资讯网——每日最新资讯28at.com

合并姓名与年龄

names = ['Alice', 'Bob', 'Charlie']ages = [25, 30, 35]people = list(zip(names, ages))print(people)  # 输出: [('Alice', 25), ('Bob', 30), ('Charlie', 35)]

八、reversed():反向遍历

reversed()返回一个反转的迭代器。emK28资讯网——每日最新资讯28at.com

反向打印列表

numbers = [1, 2, 3, 4, 5]print(list(reversed(numbers)))  # 输出: [5, 4, 3, 2, 1]

九、list(), dict(), set():构造容器

这三个函数可将可迭代对象转换为列表、字典或集合。emK28资讯网——每日最新资讯28at.com

从元组创建字典

tuples = [(1, 'apple'), (2, 'banana')]dictionary = dict(tuples)print(dictionary)  # 输出: {1: 'apple', 2: 'banana'}

十、lambda表达式:匿名函数

lambda表达式用于快速定义简单函数,常用于高阶函数的参数。emK28资讯网——每日最新资讯28at.com

lambda求和

sum_lambda = lambda x, y: x + yprint(sum_lambda(3, 5))  # 输出: 8

结语

高阶函数,是Python中的一把锋利的宝剑,它们不仅简化了代码,还提高了代码的可读性和可维护性。掌握这些函数,就如同获得了解锁编程难题的魔法钥匙,让代码世界在你手中绽放出无限可能。继续探索,你会发现Python的每一个角落都藏着惊喜。

本文链接:http://www.28at.com/showinfo-26-96751-0.htmlPython 常用的十个高阶函数

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: OpenAI宣布断服,警惕血本无归

下一篇: C# 的基础语法结构详解

标签:
  • 热门焦点
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
  • 电博会与软博会实现"线下+云端"的双线融合

    在本次“电博会”与“软博会”双展会利好条件的加持下,既可以发挥展会拉动人流、信息流、资金流实现快速交互流动的作用,继而推动区域经济良性发展;又可以聚
Top