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

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

  • 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

猜你喜欢

转载自blog.csdn.net/weixin_34336292/article/details/90993905