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

Python 常用的十个高阶函数

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

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

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

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

平方运算

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

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

filter()根据提供的函数判断序列中的元素,只保留函数返回值为True的元素。pZy28资讯网——每日最新资讯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模块。pZy28资讯网——每日最新资讯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()不仅可以对序列进行排序,还能接受一个比较函数来自定义排序规则。pZy28资讯网——每日最新资讯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()需所有元素均满足条件。pZy28资讯网——每日最新资讯28at.com

检查列表是否有非零元素

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

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

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

打印索引和元素

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

七、zip():合并迭代器

zip()可以将多个可迭代对象的元素配对成元组。pZy28资讯网——每日最新资讯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()返回一个反转的迭代器。pZy28资讯网——每日最新资讯28at.com

反向打印列表

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

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

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

从元组创建字典

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

十、lambda表达式:匿名函数

lambda表达式用于快速定义简单函数,常用于高阶函数的参数。pZy28资讯网——每日最新资讯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# 的基础语法结构详解

标签:
  • 热门焦点
  • 《英雄联盟》夏季赛总决赛今日开打!JDG对阵LNG首发名单来了 Knight:准备三连冠

    8月5日消息,今日17:00,《英雄联盟》2023LPL夏季赛总决赛将正式开打,由JDG对阵LNG。对两支队伍来说,这场比赛不仅要争夺夏季赛冠军,更要决定谁才是LPL赛区一
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 消息称小米汽车开始筛选交付中心:需至少120个车位

    IT之家 7 月 7 日消息,日前,有微博简介为“汽车行业从业者、长三角一体化拥护者”的微博用户 @长三角行健者 发文表示,据经销商集团反馈,小米汽车目前
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主“七王”在群里介绍一些刷单赚
  • 亲历马斯克血洗Twitter,硅谷的苦日子在后头

    文/刘哲铭  编辑/李薇  马斯克再次挥下裁员大刀。  美国时间11月14日,Twitter约4400名外包员工遭解雇,此次被解雇的员工的主要工作为内容审核等。此前,T
Top