python中的lambda表达式

好记性不如乱笔头,记下来总是好的。。。
回复
BG6RSH
帖子: 138
注册时间: 周日 6月 23, 2019 12:00 pm

python中的lambda表达式

帖子 BG6RSH »

lambda表达式是一行函数。
它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。

原型
lambda 参数:操作(参数)
例子
  1.     add = lambda x, y: x + y
  2. #  同功能函数定义
  3. #    def f(x,y):
  4. #        return x + y
  5.  
  6.     print(add(3, 5))
  7.     # Output: 8
这还有一些lambda表达式的应用案例,可以在一些特殊情况下使用:

列表排序
  1.     a = [(1, 2), (4, 1), (9, 10), (13, -3)]
  2.     a.sort(key=lambda x: x[1])
  3.  
  4.     print(a)
  5.     # Output: [(13, -3), (4, 1), (1, 2), (9, 10)]
列表并行排序
  1.     data = zip(list1, list2)
  2.     data.sort()
  3.     list1, list2 = map(lambda t: list(t), zip(*data))
回复