python的map和lambda

map

  • 与其他方法连用
res = map(sum, ([1, 2, 3],)) # sum,方法需要一个列表参数,后边跟元组,元组中有一个参数,意思是调用一次
for i in res:
    print(i) # 函数调用的返回值

注意:

​ map的第一个参数是方法,后边的参数是元组,当第一个参数函数有一个参数时,有一个元组,元组中多个元素,相当于多次调用第一个参数函数,并传入指定的参数

  • 自定义函数
def map_func(n, m):
    print(n, m)
    return "ok{}".format(n)


if __name__ == '__main__':
    res = map(map_func, (1, 2), (1, 3)) # map_func方法有两个参数,传两个元组,每个元组中有两个数据,表示调用两次
    for i in res:
        print(i)

注意:

​ 当两个元组中的数据不一致时,调用次数以元素个数最少的元组为准

lambda

匿名函数

一次定义一次回受,不在其他地方使用

func = lambda x : x + 1
print(func(1)) # 结果是返回值2

​ 这样没意义,和正常的函数没区别

​ 与map等连用

res = map(lambda x : x + 1, (1, )) # 只在这用
for i in res:
    print(i)

posted @ 2020-09-04 10:10  tianzhh_lynn  阅读(345)  评论(0编辑  收藏  举报