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']