来自菜鸟教程
https://www.runoob.com/python/python-exercise-example49.html
题目:使用lambda来创建匿名函数。
程序分析:无
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
MAXIMUM = lambda x,y : (x > y) * x + (x < y) * y
MINIMUM = lambda x,y : (x > y) * y + (x < y) * x
if __name__ == '__main__':
a = 10
b = 20
print ('The largar one is %d' % MAXIMUM(a,b))
print ('The lower one is %d' % MINIMUM(a,b))
以上实例输出结果为:
The largar one is 20
The lower one is 10
为什么要x>y 乘于x啊
原来:
x > y 返回True 或 False
(x > y) * x => 布尔类型隐式转换为int (True是1, False 0)
所以(x > y) * x + (x < y) * y 等价于 max(x, y) if x!=y else 0
https://bbs.pythontab.com/thread-5081-1-1.html
lambda
lambda
lambda
lambda
lambda
lambda
拉姆达
拉姆达
拉姆达
网友评论