Python trung cấp dành cho nhà phát triển
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
x cho một đối sốexpression tương đương phần thân hàmreturn$$
# Hàm lambda tính trung bình
print(lambda x: sum(x) / len(x))
<function <lambda> at 0x7f11ab813d80>
# Hàm trung bình tùy chỉnh
def average(x):
return sum(x) / len(x)
print(average)
<function average at 0x7f11ab813ec0>
# Lấy giá trị trung bình
(lambda x: sum(x) / len(x))
# Lấy giá trị trung bình
(lambda x: sum(x) / len(x))([3, 6, 9])
$$
$$
# In giá trị trung bình
print((lambda x: sum(x) / len(x))([3, 6, 9])))
6.0
# Lưu hàm lambda vào biến average = lambda x: sum(x) / len(x)# Gọi hàm average print(average([3, 6, 9]))
6.0
# Hàm lambda với hai đối số power = lambda x, y: x**y# Lũy thừa 2 mũ 3 print(power(2, 3))
8
map() áp dụng một hàm cho tất cả phần tử trong iterablenames = ["john", "sally", "leah"]# Áp dụng hàm lambda trong map() capitalize = map(lambda x: x.capitalize(), names)print(capitalize)
<map object at 0x7fb200529c10>
# Chuyển thành danh sách
print(list(capitalize))
['John', 'Sally', 'Leah']
| Tình huống | Loại hàm |
|---|---|
| Nhiệm vụ phức tạp | Tùy chỉnh |
| Lặp lại cùng nhiệm vụ | Tùy chỉnh |
| Thực hiện một lần | Lambda |
| Nhiệm vụ đơn giản | Lambda |
Python trung cấp dành cho nhà phát triển