Sitelet https://www.datacamp.com/vi/tutorial/python-lambda
Chuyển đến nội dung chính

Hướng dẫn Python lambda

Tìm hiểu cách nhanh hơn để viết hàm tại chỗ với các hàm lambda.
Đã cập nhật 5 thg 10, 2026  · 3 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Bạn có thể tự viết các hàm Python bằng từ khóa def, phần đầu hàm, docstring và thân hàm. Tuy nhiên, có một cách nhanh hơn để viết hàm tại chỗ, gọi là các hàm lambda vì bạn dùng từ khóa lambda.

Một số định nghĩa hàm đủ đơn giản để có thể chuyển thành hàm lambda. Làm vậy giúp bạn viết ít dòng mã hơn, khá tiện lợi và hữu ích, nhất là khi bạn viết và bảo trì các chương trình lớn.

Hàm lambda

Ở đây, ta viết lại hàm raise_to_power thành một hàm lambda. Sau từ khóa lambda, ta chỉ định tên các đối số; rồi dùng dấu hai chấm theo sau là biểu thức xác định giá trị mà hàm sẽ trả về.

raise_to_power = lambda x, y: x ** y

raise_to_power(2, 3)
8

Như đã đề cập, các hàm lambda cho phép bạn viết hàm một cách nhanh gọn, vì vậy chúng tôi không khuyến nghị dùng mọi lúc, nhưng có những tình huống chúng rất hữu ích, như ví dụ dưới đây.

Hàm map() và lambda

Hàm map nhận hai đối số: một hàm và một dãy như danh sách, rồi áp dụng hàm đó lên tất cả các phần tử của dãy. Ta có thể truyền hàm lambda vào map mà không cần đặt tên cho chúng; trong trường hợp này, ta gọi chúng là hàm vô danh.

Trong ví dụ này, ta dùng map() với hàm lambda để bình phương tất cả phần tử của danh sách, và lưu kết quả vào square_all.

nums = [48, 6, 9, 21, 1]

square_all = map(lambda num: num ** 2, nums)

print(square_all)
<map object at 0x103e065c0>

In square_all cho thấy đây là một đối tượng map, nên để xem nó trả về gì, ta dùng list để chuyển nó thành danh sách và in kết quả.

print(list(square_all))
[2304, 36, 81, 441, 1]

Ví dụ tương tác về việc viết hàm lambda

Hàm echo_word dưới đây nhận 2 tham số: một giá trị chuỗi, word1, và một giá trị số nguyên echo. Nó trả về một chuỗi là phép nối của echo bản sao của word1.

Bạn sẽ chuyển hàm đơn giản ở trên thành một hàm lambda.

def echo_word(word1, echo):
    """Concatenate echo copies of word1."""
    words = word1 * echo
    return words

Trong ví dụ sau, bạn sẽ:

  • Định nghĩa một hàm lambda echo_word sử dụng các biến word1 và echo. Tái hiện chức năng của định nghĩa hàm gốc echo_word() như trên.
  • Gọi echo_word() với đối số chuỗi 'hey' và giá trị 5, theo thứ tự đó. Gán lần gọi cho result. Cuối cùng, in biến result.
# Define echo_word as a lambda function: echo_word
echo_word = (lambda word1, echo: word1 * echo)

# Call echo_word: result
result = echo_word('hey', 5)

# Print result
print(result)

Khi chạy đoạn mã trên, ta thu được kết quả sau:

heyheyheyheyhey

Tự bạn thử nhé.

Để tìm hiểu thêm về hàm Lambda, vui lòng xem video từ khóa học Python Data Science Toolbox (Phần 1) của chúng tôi.

Nội dung này được trích từ khóa học Python Data Science Toolbox (Phần 1) của DataCamp do Hugo Bowne-Anderson biên soạn.

Xem thêm Hướng dẫn về hàm trong Python của DataCamp.

Chủ đề
Python

Tìm hiểu thêm về Python

Khóa học

Giới thiệu về Functions trong Python

3 giờ
471.4K
Học cách viết các hàm của riêng bạn trong Python, cũng như các khái niệm quan trọng như phạm vi và xử lý lỗi.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm