• map,reduce和filter函数


    numArray = [1, 2, 3, 4, 5]
    
    
    def ercifang(x):
        return x ** 2
    
    
    def map_test(func, numArray):
        li = []
        for i in numArray:
            li.append(func(i))
        return li
    
    
    print(map_test(ercifang, numArray))
    print(map_test(lambda x:x**2, numArray))
    #python中提供的map函数类似于上边的函数: 第一个参数传入的是处理参数的函数,第二个参数是传入的可迭代对象;map内部会逐个迭代可迭代对象并用传入的函数进行加工,
    #最后返回一个迭代器,该迭代器自能迭代一次,迭代后会删除迭代器中的内容;
    #python2中返回的是一个list
    print(list(map(lambda x:x**2,numArray)))

     

    #filter传入的函数返回值是布尔型
    print(list(filter(lambda x:x%2==0,numArray)))
    

      

    reduce

    num_1 = [1, 2, 3, 4, 5]
    
    
    # 需求:将上面列表进行阶乘操作
    
    def mutip(x, y):
        return x * y
    
    
    def jieCheng(func, numl):
        res = num_1.pop(0)
        for i in num_1:
            res = func(res, i)
        return res
    
    
    print(jieCheng(mutip,num_1))
    
    #reduce函数 将一个序列通过指定函数汇聚成一个最终值 而且可以指定起始值
    #reduce 函数需要先导入
    from functools import  reduce
    print(reduce(lambda x,y:x*y,num_1, 2))

    大数据中mapReduce概念 说的意思跟python的map reduce是一个意思

  • 相关阅读:
    BZOJ1691: [Usaco2007 Dec]挑剔的美食家
    BZOJ1584: [Usaco2009 Mar]Cleaning Up 打扫卫生
    BZOJ3057: 圣主的考验
    BZOJ1770: [Usaco2009 Nov]lights 燈
    1710: [Usaco2007 Open]Cheappal 廉价回文
    「Poetize7」电话线路
    「Poetize6」Candle
    「Poetize5」水叮当的舞步
    解题:CF983A Finite or not
    解题:POI 2013 Triumphal arch
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9598482.html
Copyright © 2020-2023  润新知