lambda表达式
我们是用lambda表达式创建匿名函数。对于lambda表达式来说,它适合快速创建在代码中以后不会用到的函数,尤其是对高阶函数或其他函数作为参数的函数来说,非常实用。
我们可以使用lambda表达式将以下函数
def multiply(x,y):
return x * y
multiply(9,14)
#output
126
简写为:
f = lambda x,y: x * y
f(9,14)
#output
126
lambda与高阶内置函数的使用
lambda与map
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))
print(averages)
#output
[57.0, 58.2, 50.6, 27.2]
lambda与filter
cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]
short_cities = list(filter(lambda x:len(x) < 10, cities))
print(short_cities)
#output
['Chicago', 'Denver', 'Boston']
lambda与reduce
from functools import reduce
num = [1,3,5,7,9]
number_sum = reduce(lambda x,y:x + y,num)
print(number_sum)
#output
25