python map reduce filter

map

函数签名:

class map(object)
 |  map(func, *iterables) --> map object
 |  
 |  Make an iterator that computes the function using arguments from
 |  each of the iterables.  Stops when the shortest iterable is exhausted.

函数使用

map是将函数func依次应用在序列iterables上.
如: map(lambda x: x**2, [1, 2, 3, ,4 ,5 ,6, 7 ,8, 9])

这里写图片描述

filter

函数签名

class filter(object)
 |  filter(function or None, iterable) --> filter object
 |  
 |  Return an iterator yielding those items of iterable for which function(item)
 |  is true. If function is None, return the items that are true.

函数使用

对iterable使用function, 结果为True的留下.
如,过滤一个整数序列的正数.

>>> from random import randint
>>> lst = [randint(-10, 10) for _ in range(10)]
>>> lst
[4, -3, 0, -4, 6, 0, -2, -3, 0, 0]
>>> list(filter(lambda x: x > 0, lst))
[4, 6]
>>> 

reduce

函数签名

和map和filter不同, reduce在functools.py里面
from functools import reduce

reduce(...)
    reduce(function, sequence[, initial]) -> value

    Apply a function of two arguments cumulatively to the items of a sequence,
    from left to right, so as to reduce the sequence to a single value.
    For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
    ((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
    of the sequence in the calculation, and serves as a default when the
    sequence is empty.

函数使用

>>> from functools import reduce
>>> reduce(lambda x, y: x+y, [1, 2, 3])
6
>>> reduce(lambda x, y: x+y, [1, 2, 3], 10)
16
>>> reduce(lambda x, y: x+y, [], 10)
10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值