Python【外】第一节 map()和匿名函数的配合使用

Python【外】第一节 map()和匿名函数的配合使用

###map()函数 map函数使用语法如下:`map(fun, iterable, ...)` 功能: map() 会根据提供的函数fun对指定序列iterable,...做映射。 具体实现方式: 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回每次调用之后产生的结果形成的序列。 举例 ```python def add_cu(xx, yy): xx + yy if __name__ == "__main__": aa = [1,2,3,4] bb = [1,2,3,4] res = map(add_cu, aa, bb) ``` 上述返回的结果就[2, 4, 6, 8] 需要注意的是 * 在python2中, map()会直接返回一个列表。 * 在python3中, map()返回的是列表对应的iterator,因此要得到列表内的具体的值, 需要在iterator外面套一层list()

lambda

lambda使用语法如下: lambda x, y,..., z: 表达式
说明: lambda后面的x,y,...,z是函数的参数, 后面的表达式是前面参数的相互的作用。
实际举例如下: 可以看到, 是可以给lambda指定一个函数名,调用方式和普通的函数是一致的。

fu = lambda x,y: x + y
res = fu(2,3)
print(res) #结果为5

map() 和 lambda的结合

map()的第一个参数是一个函数映射, 可以通过lambda表达式直接给定,也可以通过函数def的方式给出函数名字。具体操作如下:

def add_cu(xx, yy):
    return xx + yy

if __name__ == "__main__":
    aa = [1,2,3,4]
    bb = [1,2,3,4]
    fu = lambda x,y: x + y
    res1 = map(lambda x,y: x + y, aa, bb)
    res2 = map(fu, aa, bb)
    res3 = map(add_cu, aa, bb)
    print(list(res1))
    print(list(res2))
    print(list(res3))

posted @ 2019-10-29 17:09  NirvanaInFire  阅读(446)  评论(0编辑  收藏  举报