Lambda trong Python

Hướng dẫn chi tiết có code Lambda trong Python

19
  1. Định nghĩa lambda trong Python
  2. Một số trường hợp sử dụng lambda
  3. Ví dụ lambda với map()
  4. Ví dụ lambda với filter()
  5. Ví dụ lambda với sorted()
  6. Khi nào nên dùng lambda
  7. Video thực hành hàm Lambda

1. Định nghĩa lambda trong Python

lambda là cách tạo ra một hàm ngắn gọn, không cần dùng từ khóa def.

Lambda thường dùng khi chỉ cần viết hàm đơn giản trong 1 dòng.

Cú pháp:

lambda tham_so: bieu_thuc

Ví dụ:

cong_2 = lambda x: x + 2
print(cong_2(5))

Kết quả:
7

Lambda ở trên tương đương với:

def cong_2(x):
    return x + 2

Lambda có nhiều tham số

lambda không chỉ nhận 1 tham số mà có thể nhận nhiều tham số.
Các tham số được viết cách nhau bằng dấu phẩy ,.

Cú pháp:

lambda tham_so1, tham_so2: bieu_thuc

Ví dụ cộng 2 số:

tong = lambda a, b: a + b
print(tong(3, 5))

Kết quả:
8

Ví dụ tính tích 2 số:

nhan = lambda x, y: x * y
print(nhan(4, 6))

Kết quả:

24

Ví dụ kiểm tra số lớn hơn:

lon_hon = lambda a, b: a if a > b else b
print(lon_hon(7, 3))

Kết quả:

7

3. So sánh với hàm def

Lambda 2 tham số tương đương với hàm def. Ví dụ:

def tong(a, b):
    return a + b
Tương đương:
tong = lambda a, b: a + b

 

 

2. Một số trường hợp sử dụng lambda

lambda thường được dùng với các hàm như map(), filter(), sorted().

Hàm Công dụng
map() Biến đổi từng phần tử
filter() Lọc dữ liệu theo điều kiện
sorted() Sắp xếp dữ liệu

3. Ví dụ lambda với map()

Hàm map() áp dụng một hàm lên từng phần tử trong danh sách.

Ví dụ nhân đôi các số:

ds = [1, 2, 3, 4]
ket_qua = list(map(lambda x: x * 2, ds))
print(ket_qua)
Kết quả:
[2, 4, 6, 8]

4. Ví dụ lambda với filter()

Hàm filter() dùng để lọc phần tử thỏa điều kiện.

Ví dụ lấy số chẵn:

ds = [1, 2, 3, 4, 5, 6]
so_chan = list(filter(lambda x: x % 2 == 0, ds))
print(so_chan)
Kết quả:
[2, 4, 6]

5. Ví dụ lambda với sorted()

Có thể dùng lambda để chỉ định cách sắp xếp.

Ví dụ sắp xếp theo điểm:

hoc_sinh = [("An", 8), ("Bình", 5), ("Lan", 9)]
sap_xep = sorted(hoc_sinh, key=lambda x: x[1])
print(sap_xep)
Kết quả:
[('Bình', 5), ('An', 8), ('Lan', 9)]

6. Khi nào nên dùng lambda

Nên dùng lambda khi:

  • Hàm ngắn gọn, chỉ 1 biểu thức
  • Dùng 1 lần duy nhất
  • Kết hợp với map(), filter(), sorted()

Không nên dùng khi:

  • Code dài và phức tạp
  • Cần nhiều dòng lệnh 

7. Video thực hành hàm Lambda

Tìm kiếm:

Bài viết liên quan:

Hướng dẫn chi tiết có code Lambda trong Python