python3 lambda 表达式以及在map函数中的应用

lambda 函数的语法只包含一个语句:

lambda arg,...:exception

lambda 可以传入多个参数,使用逗号 “,” 分隔。 exception 使用这些参数进行运算并将结果返回。这里的 exception 隐藏了 return 关键词。 

>>> func = lambda a,b,c:a+b+c

>>> print("call func(1,2,3):",func(1,2,3))
call func(1,2,3): 6

在 python 中的使用

lambda 的使用比较灵活。例如可以在函数内部定义匿名函数,实现简单逻辑并在函数内部使用。另一个常见的应用场景则是作为匿名函数对象在迭代器中使用。比如:

map(function, iterable, ...)

map : 用func函数操作iterable,并将操作后的结果用map对象返回。

注意:map函数返回的结果,需要用list()函数展示。

对迭代器招待 function 操作,并将操作后的 list 返回

change=lambda x:pda.Series(1,index=x[pda.notnull(x)])
mapok=map(change,dataf.as_matrix())
print(list(mapok))

 dataf        

0         1     2     3      4     5
0  Python爬虫      机器学习  数据分析   PHP  Spark  Java
1     Spark      机器学习   PHP  Java    NaN   NaN
2  Python爬虫       NaN   NaN   NaN    NaN   NaN
3  Python爬虫      数据分析   NaN   NaN    NaN   NaN
4  Python爬虫      机器学习  数据分析   NaN    NaN   NaN
5      数据分析       NaN   NaN   NaN    NaN   NaN
6  Python爬虫      机器学习   NaN   NaN    NaN   NaN
7     Spark  Python爬虫  Java   NaN    NaN   NaN
8       PHP      数据分析  Java   NaN    NaN   NaN
9  Python爬虫      机器学习   NaN   NaN    NaN   NaN


>>> list(mapok)
[Python爬虫    1
机器学习        1
数据分析        1
PHP         1
Spark       1
Java        1
dtype: int64, Spark    1
机器学习     1
PHP      1
Java     1
dtype: int64, Python爬虫    1
dtype: int64, Python爬虫    1
数据分析        1
dtype: int64, Python爬虫    1
机器学习        1
数据分析        1
dtype: int64, 数据分析    1
dtype: int64, Python爬虫    1
机器学习        1
dtype: int64, Spark       1
Python爬虫    1
Java        1
dtype: int64, PHP     1
数据分析    1
Java    1
dtype: int64, Python爬虫    1
机器学习        1
dtype: int64]


猜你喜欢

转载自blog.csdn.net/qq_372725407/article/details/78755404