Menu
CoddyTech

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)]
challenge icon

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 đây
quiz iconTự kiểm tra

Bà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

Tự luyện tập: Trình biên dịch Python online