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

Python 常用的十个高阶函数

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

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

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

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

平方运算

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

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

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

检查列表是否有非零元素

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

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

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

打印索引和元素

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

七、zip():合并迭代器

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

反向打印列表

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

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

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

从元组创建字典

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

十、lambda表达式:匿名函数

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

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • 跑分安卓第一!Redmi K60至尊版8月发布!卢伟冰:目标年度性能之王

    8月5日消息,Redmi K60至尊版将于8月发布,在此前举行的战略发布会上,官方该机将搭载搭载天玑9200+处理器,安兔兔V10跑分超177万分,是目前安卓阵营最高的分数
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    Tenstorrent是一家由芯片行业资深人士Jim Keller领导的加拿大初创公司,专注于开发人工智能芯片,该公司周三表示,已经从现代汽车集团和三星投资基金等
  • 三星推出Galaxy Tab S9系列平板电脑以及Galaxy Watch6系列智能手表

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。除此之外,Galaxy Tab S9系列平板电脑以及三星Galaxy Watch6系列智能手表也同期
Top