Sử dụng lambda trong Python giúp viết các hàm ngắn gọn hơn và thường được dùng trong các trường hợp như sắp xếp, lọc, hoặc ánh xạ dữ liệu. Dưới đây là một số ví dụ:
1. Sử dụng lambda với map()
map()
áp dụng một hàm lên từng phần tử của danh sách.
Ví dụ: Tính bình phương của các phần tử trong danh sách
numbers = [1, 2, 3, 4, 5]
# Sử dụng lambda để tính bình phương
squares = list(map(lambda x: x**2, numbers))
print(squares) # Kết quả: [1, 4, 9, 16, 25]
2. Sử dụng lambda với filter()
filter()
lọc ra các phần tử thỏa mãn điều kiện do hàm cung cấp.
Ví dụ: Lọc ra các số chẵn từ danh sách
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Sử dụng lambda để lọc số chẵn
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # Kết quả: [2, 4, 6, 8]
3. Sử dụng lambda với sorted()
sorted()
sắp xếp một danh sách theo tiêu chí do hàm cung cấp.
Ví dụ: Sắp xếp danh sách các từ theo độ dài
words = ['apple', 'banana', 'cherry', 'date']
# Sử dụng lambda để sắp xếp theo độ dài từ
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words) # Kết quả: ['date', 'apple', 'banana', 'cherry']
4. Sử dụng lambda với reduce()
reduce()
thực hiện tính toán trên tất cả các phần tử của danh sách và trả về một giá trị duy nhất (cần import từ functools
).
Ví dụ: Tính tích của tất cả các phần tử trong danh sách
from functools import reduce
numbers = [1, 2, 3, 4, 5]
# Sử dụng lambda để tính tích
product = reduce(lambda x, y: x * y, numbers)
print(product) # Kết quả: 120
5. Sử dụng lambda cho hàm ẩn danh nhanh
Ví dụ: Tạo hàm tính tổng hai số
sum_func = lambda x, y: x + y
# Gọi hàm lambda
result = sum_func(5, 10)
print(result) # Kết quả: 15