Thử thách ôn tập: sắp xếp bằng lambda
Thuộc phần Logic và luồng chương trình trong hành trình Python của Coddy. Bài học 59 trên 78.
Hàm lambda rất hữu ích khi dùng với hàm sorted() để tùy chỉnh cách sắp xếp trong nhiều trường hợp khác nhau. Dưới đây là một vài ví dụ:
Sắp xếp chuỗi theo độ dài:
names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Đầu ra: ['Bob', 'Alice', 'Diana', 'Charlie']Sắp xếp từ điển theo giá trị:
grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Đầu ra: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]Sắp xếp các số theo giá trị tuyệt đối:
numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Đầu ra: [-10, 15, -20, 25]Sắp xếp tuple theo nhiều tiêu chí:
data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Đầu ra: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]Thử thách
DễTạo một hàm (function) tên là sort_tuples, nhận danh sách tuple data làm đối số. Mỗi tuple trong data chứa hai phần tử: một chuỗi và một số. Hàm cần dùng hàm sorted() cùng với hàm lambda để sắp xếp danh sách tuple theo phần tử thứ hai (số) theo thứ tự tăng dần. Hàm cần trả về danh sách tuple đã sắp xếp.
Tự làm thử
def sort_tuples(data):
# Viết code tại đâyBài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
4Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ7Tập hợp phần 2
Phép toán toán học phần 1Phép toán toán học phần 2Ôn tập: Săn tìm kho báuTập hợp con và tập hợp chaLặp qua các tập hợpÔn tập: Theo dõi giải đấu10Tạo danh sách bằng cú pháp rút gọn cơ bản
Cú phápTạo danh sách đơn giảnThêm điều kiệnSử dụng phép tổng hợp dữ liệuÔn tập: Ngôi nhà của những danh sáchÔn tập: Những phần tử tự do13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Từ điển phần 1
Từ điển là gì?Tạo từ điểnTruy cập giá trịChỉnh sửa từ điểnÔn tập: Trình quản lý công thức nấu ăn5Ra quyết định nâng cao
Toán tử ba ngôiKiểm tra thành viênKiểm tra danh tínhLỗi thụt lềÔn tập: Bộ lọc kỳ nghỉ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh11Hàm nâng cao
Trả về nhiều giá trịHàm lambda phần 1Hàm lambda phần 2Thử thách ôn tập: sắp xếp bằng lambdaHàm đệ quy phần 1Hàm đệ quy phần 2Ôn tập: tính tổng danh sách lồng nhau3Từ điển, phần 2
Phương thức của từ điểnTừ điển lồng nhauKiểm tra khóaLặp qua từ điểnÔn tập: Bộ đếm tần suất6Tập hợp phần 1
Tập hợp là gì?Các phép toán cơ bảnCác phương thức của tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Sử dụng tổngTìm giá trị nhỏ nhất và lớn nhấtSắp xếp dữ liệu hiệu quảÔn tập: Bộ sắp xếp từ điểnTự luyện tập: Trình biên dịch Python online