Khi cần sắp xếp danh sách các tuple theo thứ tự tăng dần dựa trên phần tử cuối cùng của mỗi tuple, ta có thể định nghĩa hàm lấy phần tử cuối làm khóa sắp xếp (key) cho hàm sorted().
Ví dụ
def lay_phan_tu_cuoi(tup):
return tup[-1]
def sap_xep_theo_cuoi(danh_sach_tuple):
return sorted(danh_sach_tuple, key=lay_phan_tu_cuoi)
my_list = [(45, 31), (23, 67), (92, 60), (90, 12)]
print("Danh sách ban đầu:")
print(my_list)
print("Danh sách sau khi sắp xếp:")
print(sap_xep_theo_cuoi(my_list))
Kết quả
Danh sách ban đầu: [(45, 31), (23, 67), (92, 60), (90, 12)] Danh sách sau khi sắp xếp: [(90, 12), (45, 31), (92, 60), (23, 67)]
Giải thích
- Hàm
lay_phan_tu_cuoitrả về phần tử cuối của tuple (index -1). - Hàm
sap_xep_theo_cuoisử dụngsorted()với tham sốkeylà hàm trên. - Danh sách tuple được in ra trước và sau khi sắp xếp.