Bài 17. Hàm ẩn danh
Hàm ẩn danh không dùng từ khóa def và tên hàm. Cú pháp hàm ẩn danh như sau:
<tên biến> = lambda <tham số>: <biểu thức / giá trị trả về>
Ví dụ
tong3 = lambda a, b, c : a + b + c
x = 5
y = 7
z = 3
print(tong3(x,y,z)
Output: 15
Các hàm lambda có thể có nhiều tham số nhưng chỉ có một biểu thức. Các hàm Lambda có thể được sử dụng ở bất cứ nơi nào trong chương trình.
Ví dụ 2
double = lambda x: x * 2
print(double(5))
Chương trình trên tương đương với:
def double(x):
return x * 2
print(double(5))
Hàm Lambda được sử dụng cùng với các hàm có sẵn như filter (), map (), v.v.
Khi sử dụng cùng với các hàm có sẵn (build-in), lambda thường được dùng như một tham số của hàm build-in.
Ví dụ
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x%2 == 0) , my_list))
print(new_list)
Output
: [4, 6, 8, 12]
# Program to double each item in a list using map()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2 , my_list))
print(new_list)
Output: [2, 10, 8, 12, 16, 22, 6, 24]
Trong ví dụ trên, lambda là tham số thứ nhất của hàm filter(), map().
Last updated
Was this helpful?