python中的filter、map、reduce函数

filter() 函数

用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

filter() 方法的语法:

filter(function, iterable)
function – 判断函数。
iterable – 可迭代对象。
输出前需要使用list()进行显示转换

map()函数

会根据提供的函数对指定序列做映射,返回包含每次 function 函数返回值的新列表

map() 函数语法:

map(function, iterable, …)
function – 函数
iterable – 一个或多个序列
输出前需要使用list()进行显示转换

reduce()函数

被放到了functools包中,使用需要引用
from fuctiontools import reduce
不建议使用
https://blog.csdn.net/nigelyq/article/details/79283014

>>> print(list(filter(lambda x:x>5,[12,3,13,1,2,35])))  # 输出比5大的数字
[12, 13, 35]
>>> print(list(map(lambda x:x>5,[12,3,13,1,2,35])))  # 判断元素是否比5大
[True, False, True, False, False, True]
def is_odd(n):  # 是否为奇数
    return n % 2 == 1

new_f = filter(is_odd, [1, 2, 3, 4, 5])
print(new_f)  # 返回一个对象
print(list(new_f))

new_m = map(is_odd, [1, 2, 3, 4, 5])
print(new_m)  # 返回一个对象
print(list(new_m))
# 返回结果为:
<filter object at 0x00000227F7FE3278>
[1, 3, 5]
<map object at 0x00000227F8210080>
[True, False, True, False, True]

猜你喜欢

转载自blog.csdn.net/jamieblue1/article/details/88957375