如何分析python的map、reduce函数

技术如何分析python的map、reduce函数这篇文章给大家介绍如何分析python的map、reduce函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。小编讲的是Python的map、red

本文介绍了如何分析python的映射和减少函数。内容很详细,有兴趣的朋友可以参考一下,希望对你有帮助。

边肖谈到了Python的map、reduce函数。

这对兄弟是出现频率极高相当实用,的python函数,初学者很难理解。看完这篇文章你就能搞定了!

如何分析python的map、reduce函数

01map

map()方法会将函数映射发送到序列,的每个元素,并生成一个包含所有函数返回值的新序列。

也就是说,把序列中的每一个元素都当作一个x变量,放入一个函数f(x),结果就是一个由f(x1)、f(x2)、f(x3)等组成的新序列。

如何分析python的map、reduce函数

如何使用map函数?

映射(函数到应用,输入列表)

Function_to_apply:表示函数。

List_of_inputs:表示输入序列。

注意:python3中的映射函数返回一个迭代器.

大多数时候,我们必须将列表中的所有元素逐个传递给一个函数,并收集输出。

例如:

项目=[1,2,3,4,5]#列表

平方=[]

foriinitems:

平方追加(i**2)

地图功能可以以更简单、更美观的方式实现:

items=[1,2,3,4,5]

squared=list(map(lambda x : x * * 2,items))

上面使用了匿名函数,也可以自定义函数:

     
   
   
   items = [1, 2, 3, 4, 5]  
    
    def f(x):  
    
        return x**2  
    
    squared = list(map(f, items))

02

reduce

reduce相比map稍复杂点

reduce的工作过程是 :在迭代序列的过程中,首先把 前两个元素(只能两个)传给 函数,函数加工后,然后把 得到的结果和第三个元素 作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素 作为两个参数传给函数参数,依次类推。 

如何分析python的map、reduce函数

reduce函数怎么用?

     
   
   
   reduce(function, iterable[, initializer])
  • function:代表函数

  • iterable:序列

  • initializer:初始值(可选)

与map不同,reduce不可以直接使用,需要用from functools import reduce导入

如何分析python的map、reduce函数

比如说我要求10的阶乘,就可以用reduce做:

     
   
   
   # 导入reduce  
    
    from functools import reduce   
    
    # 定义函数  
    
    def f(x,y):  
    
        return x*y  
    
    # 定义序列,含1~10的元素  
    
    items = range(1,11)  
    
    # 使用reduce方法  
    
    result = reduce(f,items)  
    
    print(result)

关于如何分析python的map、reduce函数就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/134040.html

(0)

相关推荐

  • springboot如何传参校验@Valid及对其的异常捕获方式

    技术springboot如何传参校验@Valid及对其的异常捕获方式这篇文章将为大家详细讲解有关springboot如何传参校验@Valid及对其的异常捕获方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读

    攻略 2021年10月20日
  • java中的公平锁和非公平锁(java哪些是公平锁和非公平锁)

    技术Java AQS中的公平锁与非公平锁怎么使用本篇内容主要讲解“Java AQS中的公平锁与非公平锁怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java AQS中

    攻略 2021年12月21日
  • oracle中expdp和impdp如何导出导入表空间

    技术oracle中expdp和impdp如何导出导入表空间小编给大家分享一下oracle中expdp和impdp如何导出导入表空间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有

    攻略 2021年11月11日
  • 数据库中Oracle DB2随取几行的示例分析

    技术数据库中Oracle DB2随取几行的示例分析小编给大家分享一下数据库中Oracle DB2随取几行的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月20日
  • sqlite怎么使用子查询函数(sqlite select语句)

    技术SQLite中的SELECT子句如何使用通配符小编给大家分享一下SQLite中的SELECT子句如何使用通配符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!SQLite中的SELECT子句使用通配符

    攻略 2021年12月18日
  • C++string底层框架的示例分析

    技术C++string底层框架的示例分析小编给大家分享一下C++string底层框架的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、 前言主要说明浅拷贝和深拷贝的优缺点,以及仿写string

    攻略 2021年11月13日