内置高阶函数——python

106 阅读1分钟

高阶函数:将函数作为参数或返回值的函数

1 filter的基础用法

对于列表(或其他序列类型),如果希望从中筛选出满足某个约束条件的子列表,我们一般的做法是使用一个for循环遍历每个元素然后执行相同约束条件判断,将满足条件的放入新的子列表中。例如,从列表中找出所有偶数子列表,并按对应的先后顺序放入子列表中:

"""
内置高阶函数

filter()    过滤器

"""

list01=[

]
filter()
a = [1, 2, 3, 4, 5]
b  = []
for i in a:
    if i % 2 == 0:
        b.append(i)

a = [1, 2, 3, 4, 5]
def check(i): 
    return i % 2 == 0
b = list(filter(check, a))

2 map的基础用法

map()  会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map() 函数语法:

map(function, iterable, ...)

参数

  • function -- 函数
  • iterable -- 一个或多个序列
def square(x):  # 计算平方数
    return x ** 2


map(square, [1, 2, 3, 4, 5])  # 计算列表各个元素的平方
list(map(square, [1, 2, 3, 4, 5]))  # 使用 list() 转换为列表
list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))  # 使用 lambda 匿名函数