以前一直对Lambda表达式不是太熟,后来看kotlin的时候听说了这个东西,就去查了一下,java8中也有,单纯的把这个归为语法糖,实际开发中用的倒不是很多,今天正好看到Python中也有,觉得有必要单独拉出来聊聊
- 在python中,lambda是个关键字
- lambda就是一个简单的匿名函数
- 以上两点都是我目前的水平猜的
# 定义一个函数,返回lambda表达式
>>> def test_lmd(n):
return lambda x: x+n
# 直接运算是不行的,上面已经说了,匿名函数
>>> test_lmd(20)
<function test_lmd.<locals>.<lambda> at 0x0000000002FE8268>
>>> f = test_lmd(20)
>>> f(0)
20
>>> f(5)
25
# 用lambda在排序中做个运算
>>> pairs = [(1,"one"),(2,"two"),(3,"three")]
>>> pairs.sort(key = lambda pair:pair[1])
>>> pairs
[(1, 'one'), (3, 'three'), (2, 'two')]
>>>