zoukankan      html  css  js  c++  java
  • map函数和reduce函数的区别

    ①从参数方面来讲:
    map()函数:
      map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。
    reduce()函数:
    reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。

    ②从对传进去的数值作用来讲:
    map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;
    reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),
    最终结果是所有的元素相互作用的结果。
    练习:
      1 计算:lambda和reduce实现1到100的累加
      2 from functools import reduce
      3 print(reduce(lambda x,y:sum([x,y]),range(1,101)))  #第一个参数是一个函数,第二个参数是一个序列
      4 print(map(lambda x,y:sum([x,y]),range(1,101)))  #第一个参数是一个函数,第二个参数是一个序列
      5 print(list(map(lambda x,y:sum([x,y]),range(1,101),range(1,101))))  #第一个参数是一个函数,第二个参数是一个序列
     

    打印结果:

     

     

    分类: python相关

  • 相关阅读:
    java关键字之synchronized
    java多线程之线程安全
    java多线程之管道流
    java多线程之多生产者-多消费者
    java多线程之生产者-消费者
    java多线程之wait和notify
    python读取json文件并解析
    java之继承中的静态变量
    shell多线程(3)while循环
    equals与hashcode
  • 原文地址:https://www.cnblogs.com/lz1996/p/11572952.html
Copyright © 2011-2022 走看看