Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python เรียงลำดับทัพเพิลตามลิสต์ภายนอก


เมื่อต้องการเรียงลำดับลิสต์ของทัพเพิลตามลำดับที่กำหนดในลิสต์อื่น สามารถแปลงเป็นดิกชันนารีแล้วสร้างลิสต์ใหม่ตามลำดับที่ต้องการ

ตัวอย่างโค้ด

my_list = [('Mark', 34), ('Will', 91), ('Rob', 23)]
print("The list of tuples is:")
print(my_list)

ordered_list = ['Will', 'Mark', 'Rob']
print("The ordered list is:")
print(ordered_list)

temp_dict = dict(my_list)
result = [(key, temp_dict[key]) for key in ordered_list]
print("The ordered tuple list is:")
print(result)

ผลลัพธ์

The list of tuples is: [('Mark', 34), ('Will', 91), ('Rob', 23)]
The ordered list is: ['Will', 'Mark', 'Rob']
The ordered tuple list is: [('Will', 91), ('Mark', 34), ('Rob', 23)]

คำอธิบาย

  • แปลงลิสต์ทัพเพิลเป็นดิกชันนารีเพื่อเข้าถึงค่าด้วยคีย์ได้เร็ว (O(1))

  • ใช้ List Comprehension วนตาม ordered_list ดึงค่าจากดิกชันนารี

  • สร้างลิสต์ทัพเพิลใหม่เรียงตามลำดับที่ต้องการ

  • วิธีนี้มีประสิทธิภาพมากกว่าการค้นหาในลิสต์เดิมซ้ำๆ