filter
代码高亮
# 內置函數
a = [1, 2, 3, 4, 5, 6]
b = list(filter(lambda x: x >= 4, a))
map
map() 会根据提供的函数对指定序列做映射。
返回值:迭代器
代码高亮
# map
list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数
# [1, 4, 9, 16, 25]
# 提供了两个列表,对相同位置的列表数据进行相加
list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
# [3, 7, 11, 15, 19]
reduce
reduce() 函数会对参数序列中元素进行累积
返回值:函数计算结果
代码高亮
# reduce
from functools import reduce
d = reduce(lambda x, y: x+y, [1, 2, 3], 1)
print(d) # 7
zip
类似于数学中的矩阵
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
返回值:元组列表
代码高亮
# zip
a = (1, 2, 3)
b = [2, 4, 6]
zip(a, b) # 打包成元组列表 [(1, 2),(2, 4),(3, 6)]
for i in zip(a, b):
print(i)