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]