内建函数 :
map()、filter()、reduce()、zip()
# filter() map() reduce() zip()
from functools import reduce
# 参数为一个或多个可迭代对象 zip(*iterables) --> zip object
a = zip([1,2,3],[3,4,4])
print(list(a))
a = zip([1,2,3])
print(list(a))
# 第一个参数函数名,第二参数可迭代对象 返回值是map对象 map(func, *iterables) --> map object(迭代器)
result = map(lambda x: x*x, [1, 2, 3])
print(result)
# 第一个参数是函数名,第二个参数是可迭代对象 返回值是filter对象 filter(function or None, iterable) --> filter object
res2 = filter(lambda x: x%2, [1, 2, 3, 4])
print(list(res2))
res2 = filter(None, [0, 2, 3, 4])
# [2, 3, 4]
print(list(res2))
res = reduce(lambda x, y: x + y, [1, 2, 3, 4])
print(res)
# filter() map() reduce() zip()
# map返回的结果是一个新的数据,
# filter返回的数据是原先数据的子集
# reduce 把上一次返回的结果拿来下一次使用