首页 > 编程语言 >python map/filter/reduce的用法示例

python map/filter/reduce的用法示例

时间:2024-08-21 14:26:16浏览次数:8  
标签:function map 迭代 示例 python 元素 reduce 对象 iterable

from functools import reduce

def func0(a):
    """
    a: 可迭代对象的迭代元素
    将function 应用于可迭代对象的对应元素,并返回一个迭代器,其中包含了所有映射后的结果
    map(function, iterable, ...)
    function:要应用于可迭代对象的函数。
    iterable:要进行映射操作的可迭代对象
    """
    return "❤☆❤" + a + "☆❤☆"

def func1(a):
    '''
    a: 可迭代对象的迭代元素
    用于筛选可迭代对象中满足指定条件的元素,然后返回一个包含筛选结果的新可迭代对象。
    filter(function, iterable)
    function:用于筛选元素的函数,该函数返回 True 或 False。
    iterable:要进行筛选操作的可迭代对象。
    '''
    if(a.startswith('w')):
        return True
    else:
        return False

def func2(a,b):
    """
    a: 可迭代对象的迭代元素
    b: 可迭代对象的下一个迭代元素
    对可迭代对象中的元素进行累积操作,从左到右依次应用指定的函数,将结果汇总为一个值
    functools.reduce(function, iterable[, initializer])
    function:用于累积操作的函数,该函数接受两个参数,并返回一个结果。
    iterable:要进行累积操作的可迭代对象。
    initializer(可选):累积的初始值。
    reduce() 函数将 function 应用于 iterable 中的元素,从左到右依次累积,将
    结果传递给下一个元素。如果提供了 initializer,它将作为累积的初始值。否则,iterable 的第一个元素将作为初始值。
    """
    return a + ', ' + b

if __name__ == "__main__":
    # 1.map(function, iterable)
    words = ["hello", 'world', "blingbling!"]
    print(list(map(func0, words)))
    
    # 2.filter筛选可迭代对象中满足指定条件的元素,然后返回一个包含筛选结果的新可迭代对象
    print(list(filter(func1, words)))
    
    # 3.reduce 从左到右依次累积
    print(reduce(func2, words))
    
    # ['❤☆❤hello☆❤☆', '❤☆❤world☆❤☆', '❤☆❤blingbling!☆❤☆']
    # ['world']
    # hello, world, blingbling!

标签:function,map,迭代,示例,python,元素,reduce,对象,iterable
From: https://www.cnblogs.com/bai7/p/18371515

相关文章

  • 豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!
    在众多解释型语言中,Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来,在行业应用和学术研究中采用python进行科学计算的势头越来越猛。近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大代替方案,结合其在通用编程方面的强大实力,完......
  • 豆瓣评分9.0!Python3网络爬虫开发实战,堪称教学典范!
    今天我们所处的时代是信息化时代,是数据驱动的人工智能时代。在人工智能、物联网时代,万物互联和物理世界的全面数字化使得人工智能可以基于这些数据产生优质的决策,从而对人类的生产生活产生巨大价值。在这个以数据驱动为特征的时代,数据是最基础的。数据既可以通过研发产品获得,......
  • python实现自动化生成pdf报告
    easypdf使用手册1.项目介绍1.1关于1.2easypdf有什么优势1.2easypdf可以用来做什么1.3项目框架1.4项目教程视频2.安装项目环境2.1安装Python32.2在Windows上安装Python32.3在Mac上安装Python32.4在Linux上安装Python32.5在Windows上安装Pycharm2.6在Mac上......
  • C#调用python程序
    //在NuGet中安装pythonnet插件usingPython.Runtime;privatevoidbt_python_Click(objectsender,EventArgse){dynamicdynamic;Stopwatchsw=newStopwatch();sw.Start();Runtime.PythonDLL=Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Loc......
  • 源码解析之为何要用ConcurrentHashMap
    为什么要用ConcurrentHashMap?ConcurrentHashMap是JUC包下的一个线程安全的HashMap类,我们都知道多线程的场景下要用ConcurrentHashMap来代替HashMap使用,有没有想过为什么不能用HashMap,为什么能用ConcurrentHashMap呢?下面我通过走源码的方式,带大家看一看其中的一些细节!HashMapmap......
  • 基于python+flask框架的通识课在线选课系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,教育领域正经历着深刻的变革,其中在线教育成为了一个重要的发展方向。通识教育作为高等教育体系中的重要组成部分......
  • 基于python+flask框架的楼盘销售管理信息系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着房地产市场的蓬勃发展,楼盘销售管理面临着前所未有的挑战与机遇。传统的手工记录与管理方式已难以适应市场快速变化的需求,特别是在客户......
  • 基于python+flask框架的智慧小区团购系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和城市化进程的加快,智慧小区作为智慧城市的重要组成部分,正逐渐成为提升居民生活品质、优化社区管理的关键载体。在......
  • 【python】Python实现XGBoost算法的详细理论讲解与应用实战
    ✨✨欢迎大家来到景天科技苑✨✨......
  • python 调用通义千问SDK API
    前言通义千问在线AI助手:https://tongyi.aliyun.com/qianwen/通义千问官网文档地址:https://help.aliyun.com/zh/dashscope/developer-reference/(通义千问2024.4.26更新模型的API-KEY收费,非限时免费开放模型,有使用Token数量的限制)支持python3.8或以上版本配置流程1......