美文网首页
Python高阶函数

Python高阶函数

作者: 继即鲫迹极寂寂 | 来源:发表于2018-12-05 10:37 被阅读0次

    可以接受一个函数作为参数的函数叫做高阶函数。

    map()

    map()函数接受一个函数参数,一个惰性序列(Iterator)参数,将惰性序列里的每个值作用于函数参数后,返回新的惰性序列。

    def f(x):
        return x*2
    m = map(f, [1, 3, 6, 9])
    print(m) ----------------------> [2, 6, 12, 18]
    

    reduce()

    reduce()函数同map()函数一样也接受两个参数,不同的是一个是函数参数,一个是序列参数(list)。而且其函数参数要接受两个参数,将函数参数求得的值继续和序列参数中下一个元素做累积计算。

    def f(x, y):
        return x*2+y
    m = reduce(f, [1, 3, 6, 9])
    print(m) ----------------------> 41
    

    filter()

    filter()是用于过滤序列的高阶函数,其参数和map()相同,是否保留序列的元素取决于作用于序列元素的函数返回值是True还是False。filter()返回值是一个惰性序列。

    def f(x):
        return x % 2 == 0
    m = filter(f, [1, 3, 6, 9, 12])
    print(m) ----------------------> [6, 12]
    

    sorted()

    sorted()是排序高阶函数,可以传入一个序列,一个key值(定义按何种方式排序),以及reverse=True/False是否反向

    L = sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.upper, reverse=True)
    print(L) ----------------------> ['Zoo', 'Credit', 'bob', 'about']
    

    相关文章

      网友评论

          本文标题:Python高阶函数

          本文链接:https://www.haomeiwen.com/subject/qrmmcqtx.html