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

Python 常用的十个高阶函数

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

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

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

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

平方运算

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

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

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

检查列表是否有非零元素

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

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

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

打印索引和元素

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

七、zip():合并迭代器

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

反向打印列表

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

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

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

从元组创建字典

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

十、lambda表达式:匿名函数

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

标签:
  • 热门焦点
  • Redmi Buds 4开箱简评:才199还有降噪 可以无脑入

    在上个月举办的Redmi Note11T Pro系列新机发布会上,除了两款手机新品之外,Redmi还带来了两款TWS真无线蓝牙耳机产品,Redmi Buds 4和Redmi Buds 4 Pro,此前我们在Redmi Note11T
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了——贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • 郭明錤称华为和江淮汽车合作开发问界MPV,定价100万左右、计划明年量产

    8 月 1 日消息,郭明錤今天在 Medium 平台发布博文,称华为正在和江淮汽车合作,开发售价在 100 万元的问界 MPV,预计在 2024 年第 2 季度量产,销量目标为
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
Top