Cho một tuple, nhiệm vụ sắp xếp list các tuple tăng dần theo khóa bất kỳ trong tuple. Cần sắp xếp theo khóa cho trước. Để làm này ta dùng hàm sorted() với key=last và lưu last là chỉ mục khóa theo đó ta sắp xếp các tuple cho trước.
Ví dụ
Input: A = [(2, 55), (1, 20), (4, 40), (2, 30)] k = 0 Output: [(1, 20), (2, 30), (2, 55), (4, 40)]
Giải thích
Sắp xếp tăng dần dùng khóa chỉ mục 0.
Thuật toán
Bước 1: Lấy giá trị khóa cuối. Bước 2: Dùng hàm built-in sorted() với key=last, lưu last là chỉ mục khóa để sắp xếp tuple. Bước 3: Hiển thị list đã sắp xếp.
Mã ví dụ
# Chương trình Python sắp xếp list tuple # tăng dần theo khóa bất kỳ # Lấy khóa cuối. def data(n): return n[k] # Hàm sắp xếp tuple def tuplesort(tup): # Truyền hàm tự định nghĩa last # Làm tham số. return sorted(tup, key=data) # Mã điều khiển a = [(230, 456, 120), (205, 414, 39), (89, 410, 213)] k = int(input("Nhập Chỉ Mục ::>")) print("Đã Sắp Xếp:"), print(tuplesort(a)) Kết quả
Nhập Chỉ Mục ::>2 Đã Sắp Xếp: [(205, 414, 39), (230, 456, 120), (89, 410, 213)]