Hàm Lambda trong Python là gì?

Trong Python, hàm vô danh là hàm được định nghĩa mà không có tên. Nếu các hàm bình thường được định nghĩa bằng cách sử dụng từ khóa def, thì hàm vô danh được định nghĩa bằng cách sử dụng từ khóa lambda. Vì lý do đó mà hàm vô danh còn được gọi là hàm Lambda.

Cú pháp hàm Lambda trong Python

Một hàm Lambda trong Python có cú pháp sau;

lambda tham_so: bieu_thuc

Hàm Lambda có thể có nhiều tham số nhưng chỉ có 1 biểu thức. Biểu thức sẽ được đánh giá và trả về. Hàm Lambda có thể được sử dụng ở bất cứ nơi nào đối tượng hàm được yêu cầu.

Ví dụ về hàm Lambda trong Python

Đây là ví dụ về hàm Lambda với nhiệm vụ nhân đôi số nhập vào.

nhan_doi = lambda a: a * 2

# Kết quả: 20
# By tinhoccuaem.com
print(nhan_doi(10))

Trong ví dụ này, lambda a: a * 2 là hàm Lambda. a ở đây là tham số và a * 2 là biểu thức (đảm nhiệm việc tính toán và trả về kết quả). Hàm này không có tên, nó trả về một đối tượng hàm – được gán định danh là nhan_doi. Chúng ta có thể gọi nó như một hàm bình thường, lệnh sau:

nhan_doi = lambda a: a * 2

gần giống như:

def nhan_doi(a):
 return a * 2

Sử dụng Lambda trong Python

Thường thì hàm Lambda được sử dụng khi cần một hàm vô danh trong thời gian ngắn, ví dụ như dùng làm đối số cho một hàm bậc cao hơn. Hàm Lambda thường được sử dụng cùng với các hàm Python tích hợp sẵn như filter() hay map(),…

Ví dụ dùng hàm Lambda với filter():

Hàm filter() sẽ lấy các tham số là một hàm và một list. Hàm được gọi với tất cả các mục trong list và list mới sẽ được trả về, chứa các mục mà hàm đánh giá là True. Đây là ví dụ dùng hàm filter() để lọc ra các số chẵn trong list.

list_goc = [10, 9, 8, 7, 6, 1, 2, 3, 4, 5]

list_moi = list(filter(lambda a: (a%2 == 0) , list_goc))

# Kết quả: [10, 8, 6, 2, 4]
# By tinhoccuaem.com
print(list_moi)

Ví dụ dùng hàm Lambda với map():

Hàm map() cũng lấy các tham số là một hàm và một list. Hàm được gọi với tất cả các mục trong list và list mới được trả về chứa các mục được hàm trả về tương ứng cho mỗi mục. Nói thì có vẻ lằng nhằng, bạn xem ví dụ sau sẽ dễ hiểu hơn nhiều:

list_goc = [10, 9, 8, 7, 6, 1, 2, 3, 4, 5]

list_moi = list(map(lambda a: a*2 , list_goc))

# Kết quả: [20, 18, 16, 14, 12, 2, 4, 6, 8, 10]
# By tinhoccuaem.com
print(list_moi)

Còn gì trong phần hàm vô danh mà chúng ta bỏ sót không? Bạn hãy bình luận bên dưới để góp ý và đón chờ bài tiếp theo nhé.

83 BÌNH LUẬN

  1. You ave made some decent points there. I checked on the internet for more information about the issue and found most individuals will go along with your views on this web site.

  2. Merely a smiling visitant here to share the love (:, btw great style and design. Justice is always violent to the party offending, for every man is innocent in his own eyes. by Daniel Defoe.

  3. This is really interesting, You are a very skilled blogger.
    I’ve joined your feed and look forward to seeking
    more of your excellent post. Also, I have shared
    your site in my social networks!

  4. My brother suggested I might like this website. He was entirely right. This post truly made my day. You cann at imagine just how much time I had spent for this information! Thanks!

  5. This is really fascinating, You are a very professional blogger. I ave joined your rss feed and sit up for searching for more of your great post. Also, I have shared your site in my social networks!

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here