关于python中的map函数和lambda关键字

1.python中的map函数

初次使用map函数是在刚接触深度学习的时候,写一个最简单的手写数字的问题,使用minist数据,然后对load下来的数据要做一个预处理,就是转换一下data的dtype,于是有用到dataset.map()。然后在后面的学习中,慢慢的也接触了很多地方需要使用map函数的,于是具体去了解了一下这个函数的详细用法。
定义:map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
举例:

def add(x):
   return (x+2)
map(add, [1,3,4,5])
# 结果
# <map at 0x7f54e270ec18>
list(map(add, [1,3,4,5]))
# 结果
# [3, 5, 6, 7]
    当使用map()函数时,返回的是一个map对象的迭代器,可通过如上代码所示将其强制转换成list输出。
    有时候的功能跟zip()一样,将多个列表相同位置的元素归并
list(zip([1,2,3,4], [3,4,5,6]))
# [(1, 3), (2, 4), (3, 5), (4, 6)]

2.lambda

lambda的语法: lambda argument_list: expression
其中argument_list是参数列表,与python中function的参数列表是一样的
例如:
a, b
a=1, b=2
*args
**kwargs
a, b=1, *args
然后expression是一个关于argument_list中参数的表达式, 表达式只能是单行的。例如lambda定义一个加函数,然后配合map使用

list(map(lambda x,y:x+y,[1,3,4],[2,5,6]))
#[3, 8, 10]
发布了4 篇原创文章 · 获赞 0 · 访问量 121

猜你喜欢

转载自blog.csdn.net/sharic_song/article/details/104380346