zoukankan      html  css  js  c++  java
  • 简单易懂之python 中的map,filter,reduce用法

    map(function,sequence)
    把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。
    重点是结果返回一个列表,这样对返回的列表就可以干很多的活了。如().join()操作
    如果function有两个参数,即map(function,sequence1,sequence2)。
     
    例子:
    求1+1,2+2,3+3,4+4
    map(lambda x:x+x,range(1,5))
    返回值是[2,4,6,8]
     
    reduce(function,sequence)
    function接收的参数个数只能为2
    先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给
    function,然后只返回一个结果。
    重点就是经过reduce处理完以后,就只会得到一个结果。
     
    例子:
    求1到10的累加
    reduce(lambda x,y:x+y,range(1,11))
    返回值是55。
     
    filter(function,sequence)
    function的返回值只能是True或False
    把sequence中的值逐个当参数传给function,如果function(x)的返回值是True,就把x加到filter的返回值里面。一般来说filter的返回值是list,特殊情况如sequence是string或tuple,则返回值按照sequence的类型。
    重点就是通过filter函数来达到过滤的效果
     
    例子:
    找出1到10之间的奇数
    filter(lambda x:x%2!=0,range(1,11))
    返回值
    [1,3,5,7,9]
     
    还有就是lamdba天生跟它们混的比较熟。通过lamdba来产生一个匿名的函数,对后面的sequence来干活
    本博客的内容如果没有标注转载字样,均属个人原创!欢迎学习交流,如果觉得有价值,欢迎转载,转载请注明出处,谢谢!
  • 相关阅读:
    _DataStructure_C_Impl:共享栈
    _DataStructure_C_Impl:顺序栈
    _DataStructure_C_Impl:一元多项式
    _DataStructure_C_Impl:双向链表
    _DataStructure_C_Impl:静态链表
    _DataStructure_C_Impl:循环单链表
    设计模式(三)-抽象工厂模式
    设计模式(二)-工厂模式
    设计模式(一)单例模式
    设计模式概述及其原则
  • 原文地址:https://www.cnblogs.com/L-O-N/p/7463008.html
Copyright © 2011-2022 走看看