美文网首页
python 高阶函数 - map/filter/sorted/

python 高阶函数 - map/filter/sorted/

作者: tafanfly | 来源:发表于2019-05-31 10:48 被阅读0次

    高阶函数就是在一个函数里,参数可以传递函数,这样的函数就叫高阶函数,往往可以用来简化复杂的运算。

    • map/filter/sorted 是Python的内置函数, 可以直接使用

    map :用于序列迭代

    map()函数入参是一个函数和序列,传入的函数依次作用于序列中的每个元素,返回一个新的Iterator, 可以使用list()函数作用于值,使结果返回为list。

     def test(x):
         return x.upper()
    
     s = map(test, ['a', 'b', 'c'])
    
    print (s)
    <map at 0x7f11e540ceb8>
    
    print (list(s))
    ['A', 'B', 'C']
    

    filter:用于序列过滤

    filter()函数入参是一个函数和序列, 如下匿名函数和序列'abcd'。传入的函数依次作用于序列的每个元素, 结果为True则返回该元素,否则丢弃。返回值是一个Iterator, 可以使用list()函数作用于值,使结果返回为list。

    In [1]: result = filter(lambda x: x == 'a', 'abcd')
    
    In [2]: result
    Out[2]: <filter at 0x7f11ce77df60>
    
    In [3]: list(result)
    Out[3]: ['a']
    

    sorted:用于可迭代对象排序

    Python 排序

    reduce

    reduce和上面三个函数有个不同点,它不是内置函数, 需要导入functools模块才能使用。
    python 模块 - functools

    相关文章

      网友评论

          本文标题:python 高阶函数 - map/filter/sorted/

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