1.实现加法计算:
为了找出lambda的作用,我们先写的是用函数实现的加法计算代码如下:
def add(a, b): return a + b result = add(1, 2) print(result)
再写出用lambda实现的加法计算代码如下:
fn1 = lambda a, b: a + b print(fn1(1, 2))
最后的答案都是如下的3:
显而易见:lambda在这里最凸显出来的功能就是简化代码
2.实现判断功能:
1fn1 = lambda a, b: a if a > b else b print(fn1(1000, 500))
最后得到的答案如下:
这里就说明的是其判断大小的功能,且涉及到三目运算符的功能:就是if判断语句如果成立,就是将前面的a值写入进去;如果if判断语句不成立,就是将后面的b值写入进去,即条件成立时的返回值往前面填,不成立是返回值往后面填。
3.实现字典按key值进行排序:
如下是原有的列表里面的字典数据:
第一:先按name值升序排列,代码如下:
students = [ {'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'JACK', 'age': 22} ]
students.sort(key=lambda x: x['name']) print(students)
得到结果:
意思就是按JRT这个英文字母进行字典数据的排序
第二:按name值降序排列,代码如下:
students = [ {'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'JACK', 'age': 22} ]
students.sort(key=lambda x: x['name'], reverse=True) print(students)
得到结果:
相比于上面的按升序排列,就是多了bool类型的数据 'reverse=True'就可以实现降序
第三:按age值升序排列,代码如下:
students = [ {'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'JACK', 'age': 22}, ]
students.sort(key=lambda x: x['age']) print(students)
一样的道理,更改字典的key值再利用lambda的功能就可以实现;如果想实现升序,一样的如上加入bool类型数据就可以了。