Hàm Lambda (Ẩn danh) trong Python

Trong bài viết này, bạn sẽ tìm hiểu về hàm ẩn danh, còn được gọi là các hàm lambda. Bạn sẽ tìm hiểu chúng là gì, cú pháp của chúng và cách sử dụng chúng (với các ví dụ).

Các hàm lambda trong Python là gì?

Trong Python, một hàm ẩn danh là một hàm được định nghĩa mà không có tên.

Trong khi các hàm bình thường được định nghĩa bằng deftừ khóa trong Python, thì các hàm ẩn danh được định nghĩa bằng lambdatừ khóa.

Do đó, các hàm ẩn danh còn được gọi là các hàm lambda.

Làm thế nào để sử dụng các hàm lambda trong Python?

Một hàm lambda trong python có cú pháp sau.

Cú pháp của hàm Lambda trong python

 đối số lambda: biểu thức

Các hàm lambda có thể có bất kỳ số lượng đối số nào nhưng chỉ có một biểu thức. Biểu thức được đánh giá và trả về. Các hàm Lambda có thể được sử dụng ở bất cứ nơi nào yêu cầu các đối tượng hàm.

Ví dụ về Hàm Lambda trong python

Đây là một ví dụ về hàm lambda tăng gấp đôi giá trị đầu vào.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Đầu ra

 10

Trong chương trình trên, lambda x: x * 2là hàm lambda. Ở đây x là đối số và x * 2là biểu thức được đánh giá và trả về.

Chức năng này không có tên. Nó trả về một đối tượng hàm được gán cho định danh double. Bây giờ chúng ta có thể gọi nó như một hàm bình thường. Tuyên bố

 double = lambda x: x * 2

gần giống như:

 def double (x): trả về x * 2

Sử dụng hàm Lambda trong python

Chúng tôi sử dụng các hàm lambda khi chúng tôi yêu cầu một hàm không tên trong một khoảng thời gian ngắn.

Trong Python, chúng ta thường sử dụng nó làm đối số cho một hàm bậc cao hơn (một hàm nhận các hàm khác làm đối số). Các hàm Lambda được sử dụng cùng với các hàm tích hợp sẵn như filter(), map()v.v.

Ví dụ sử dụng với bộ lọc ()

Các filter()chức năng trong Python mất trong một hàm và một danh sách như các đối số.

Hàm được gọi với tất cả các mục trong danh sách và một danh sách mới được trả về chứa các mục mà hàm đánh giá True.

Đây là một ví dụ sử dụng filter()hàm để chỉ lọc ra các số chẵn từ một danh sách.

 # Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)

Đầu ra

 (4, 6, 8, 12)

Ví dụ sử dụng với map ()

Các map()chức năng trong Python mất trong một hàm và một danh sách.

Hàm được gọi với tất cả các mục trong danh sách và một danh sách mới được trả về chứa các mục được hàm đó trả về cho từng mục.

Đây là một ví dụ sử dụng map()hàm để nhân đôi tất cả các mục trong danh sách.

 # 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)

Đầu ra

 (2, 10, 8, 12, 16, 22, 6, 24)

thú vị bài viết...