python-lambda表达式
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']