Python 中级:面向开发者
Jasmin Ludolf
Senior Data Science Content Developer
def average(values):
average_value = sum(values) / len(values)
return average_value
lambda 关键字
lambda
lambda 关键字
lambda arguments
lambda 关键字
lambda arguments:
lambda 关键字$$
lambda arguments: expression
xexpression 等同于函数体return 语句$$
# Lambda 平均值函数
print(lambda x: sum(x) / len(x))
<function <lambda> at 0x7f11ab813d80>
# 自定义平均值函数
def average(x):
return sum(x) / len(x)
print(average)
<function average at 0x7f11ab813ec0>
# 计算平均值
(lambda x: sum(x) / len(x))
# 计算平均值
(lambda x: sum(x) / len(x))([3, 6, 9])
$$
$$
# 打印平均值
print((lambda x: sum(x) / len(x))([3, 6, 9]))
6.0
# 将 lambda 函数存为变量 average = lambda x: sum(x) / len(x)# 调用 average 函数 print(average([3, 6, 9]))
6.0
# 具有两个参数的 lambda 函数 power = lambda x, y: x**y# 计算 2 的 3 次方 print(power(2, 3))
8
map() 将函数应用于可迭代对象中的所有元素names = ["john", "sally", "leah"]# 在 map() 中应用 lambda 函数 capitalize = map(lambda x: x.capitalize(), names)print(capitalize)
<map object at 0x7fb200529c10>
# 转为列表
print(list(capitalize))
['John', 'Sally', 'Leah']
| 场景 | 函数类型 |
|---|---|
| 复杂任务 | 自定义 |
| 多次执行相同任务 | 自定义 |
| 仅执行一次 | Lambda |
| 简单任务 | Lambda |
Python 中级:面向开发者