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]