lambda 用来定义一个函数
普通函数:
- def multiply(x, y):
- return x * y
使用 lambda 重写以上函数:
multiply = lambda x, y: x * y
lambda 函数由三个部分组成:
1. lambda 关键字
2. 用 , 分割的参数, 就是普通函数里的参数, 后面跟一个 :
3. 函数体, 就是普通函数里的函数体
一些栗子:
- # 计算 numbers 列表里的各个列表的平均值, 然后返回成一个列表
- numbers = [
- [34, 63, 88, 71, 29],
- [90, 78, 51, 27, 45],
- [63, 37, 85, 46, 22],
- [51, 22, 34, 11, 18]
- ]
- averages = list(map(lambda x: sum(x) / len(x), numbers))
结果: [57.0, 58.2, 50.6, 27.2]
- # 过滤出城市名字长度小于 10 的城市
- cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]
- short_cities = list(filter(lambda x: len(x) < 10, cities))
结果: ['Chicago', 'Denver', 'Boston']
来源: http://www.bubuko.com/infodetail-2632637.html