Python - 匿名函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 匿名函数相关的知识,希望对你有一定的参考价值。
本章内容
- 匿名函数lambda
- 匿名函数运用
一、匿名函数lambda
我们所说的匿名函数就是lambda , lambda到底是什么?
lambda表达式主要用于写一些简单的方法 , 对于复杂的还是用函数写的好
示例:
1 # 普通函数
2 def func(x):
3 return x * x
4 print(func(5))
5 -----------------------
6 # 匿名函数,自带return功能
7 func = lambda x : x * x
8 print(func(5))
9 ---------------------------------------------------
10 func = lambda arguments : expression using argument
可直接后面传递参数
1 >>> (lambda x,y : x if x > y else y)(1,2)
2 2
非固定参数
1 >>> (lambda *args : args)(1,2,3,4)
2 (1, 2, 3, 4)
PS : 匿名函数主要是与其他函数搭配使用
二、匿名函数运用
map , 计算平方
1 # map后返回的对象为map对象,所以利用list方法进行强转
2 >>> list(map(lambda x : x * x, [1,2,3,4]))
3 [1,4,9,16]
filter , 筛选偶数
1 >>> list(filter(lambda x : x % 2 == 0,[1,2,3,4]))
2 [2,4]
reduce , 求和
1 # python3中已经没有reduce方法了,调用需要导入
2 >>> from functools import reduce
3 # reduce(function, sequence, initial=None)
4 >>> reduce(lambda x , y : x + y, [1,2,3,4,5],100)
5 115
版本一
1 def func(x):
2 return lambda x : x + y
3 f = func(2)
4 print(f(2))
5 # output: 4
版本二
1 func = lambda x : (lambda y: x + y)
2 y = func(1)
3 y(2)
4 # output: 3
以上是关于Python - 匿名函数的主要内容,如果未能解决你的问题,请参考以下文章