zoukankan      html  css  js  c++  java
  • Python 高阶函数map(),filter(),reduce()

    map()函数,接收两个参数,一个是函数,一个是序列,map()把传入的函数依次作用于序列的每个元素,并把结果作为新的序列返回;

    aa = [1, 2, 3, 4, 5]
    print("map-result = ", list(map(lambda a: a * a, aa)))
    #map-result =  [1, 4, 9, 16, 25]

    filter()函数,接收两个参数,一个是函数,一个是序列,filter()把传入的函数依次作用于每个元素,根据返回值是True还是False决定是保留还是丢弃该元素,结果序列是所有返回值为True的子集;

    aa = [1, 2, 3, 4, 5]
    print("filter-result = ", list(filter(lambda a: a >=3, aa)))
    #filter-result =  [3, 4, 5]

    reduce()函数,把一个函数作用于一个序列上,这个函数必须接收两个参数,其中reduce()函数把结果继续和序列的下一个元素做累积计算,reduce()函数只返回值结果中,而非序列。在Python3中,reduce()函数移到了functools包中。

    from functools import reduce
    aa= [1,2,3,4,5]
    print("reduce-result = ",reduce(lambda a, b: (a * b),aa))
    #reduce-result =  120
  • 相关阅读:
    java类研究(String)
    webservices
    LoadRunner(软件性能测试工具)
    java线程
    lucene solr
    java IO
    实现一个可变长数组
    [北大程序设计与算法]--虚函数与多态的实例
    A1155 Heap Paths [堆的dfs]
    A1154 Vertex Coloring
  • 原文地址:https://www.cnblogs.com/zhaoshizi/p/9165255.html
Copyright © 2011-2022 走看看