Java程序猿学Python---mpa、filter、reduce方法

当我们有了java语言的基础,这几个方法简单的瞟一眼就明白了。

map方法

方法声明:map(func, *iterables) –> map object
方法作用:在iterables参数上应用func指定的方法。
使用例子1:

>>>counters = [1, 2, 3, 4]
>>>list(map((lambda x: x + 3), counters))
[4, 5, 6, 7]

说明:counters上的每一个参数增加3。

使用例子2:(使用多个参数)

>>> pow(3, 4)           # 3**4
81
>>> list(map(pow, [1, 2, 3], [2, 3, 4]))        # 1**2, 2**3, 3**4
[1, 8, 81]

说明:pow是内置的函数,执行幂运算,并且需要2个参数;map可以在2个list列表中并列的获取参数。
注意:map返回的对象只能遍历一次。

filter方法

方法声明:filter(function or None, iterable) –> filter object
方法作用:根据方法,过滤集合。

>>> list(filter((lambda x: x > 0), range(−5, 5)))       # An iterable in 3.X
[1, 2, 3, 4]

list comprehension的相同实现:

>>> [x for x in range(−5, 5) if x > 0]                # Use () to generate items
[1, 2, 3, 4]

reduce方法

方法声明:reduce(function, sequence[, initial]) -> value
方法作用:不停的应用列表中的参数进行function计算,直到只剩下一个结果值。

>>> from functools import reduce            # Import in 3.X, not in 2.X
>>> reduce((lambda x, y: x + y), [1, 2, 3, 4])
10
>>> reduce((lambda x, y: x * y), [1, 2, 3, 4])
24

你可能感兴趣的:(Python)