Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Sắp xếp tuple theo danh sách thứ tự ngoài trong Python

Sử dụng dictionary và list comprehension để sắp xếp lại list các tuple theo thứ tự key cho trước.

Ví dụ

my_list = [('Mark', 34), ('Will', 91), ('Rob', 23)]
print("List tuple gốc:", my_list)

order = ['Will', 'Mark', 'Rob']
print("Thứ tự mong muốn:", order)

temp_dict = dict(my_list)           # Chuyển sang dict để tra cứu nhanh
result = [(key, temp_dict[key]) for key in order]
print("List tuple đã sắp xếp:", result)

Kết quả

List tuple gốc: [('Mark', 34), ('Will', 91), ('Rob', 23)]
Thứ tự mong muốn: ['Will', 'Mark', 'Rob']
List tuple đã sắp xếp: [('Will', 91), ('Mark', 34), ('Rob', 23)]

Giải thích

  • Chuyển list tuple thành dictionary với key là tên, value là số.
  • Duyệt qua list order, lấy value tương ứng từ dictionary.
  • Tạo list tuple mới theo đúng thứ tự yêu cầu.
  • Giả sử key trong order đều tồn tại trong dữ liệu gốc.