สมมติว่าฉันมีสองรายการ:
list1 = [3, 2, 4, 1, 1]
list2 = ['three', 'two', 'four', 'one', 'one2']
ถ้าฉันเรียกใช้list1.sort()
มันจะเรียงลำดับไป[1,1,2,3,4]
แต่มีวิธีlist2
ซิงค์ด้วยหรือไม่ (ฉันจะบอกว่ารายการ4
เป็นของ'three'
) ดังนั้นผลลัพธ์ที่คาดหวังจะเป็น:
list1 = [1, 1, 2, 3, 4]
list2 = ['one', 'one2', 'two', 'three', 'four']
ปัญหาของฉันคือฉันมีโปรแกรมที่ค่อนข้างซับซ้อนซึ่งทำงานได้ดีกับรายการ แต่ฉันจำเป็นต้องเริ่มอ้างอิงข้อมูลบางอย่าง ฉันรู้ว่านี่เป็นสถานการณ์ที่สมบูรณ์แบบสำหรับพจนานุกรม แต่ฉันพยายามหลีกเลี่ยงพจนานุกรมในการประมวลผลของฉันเพราะฉันจำเป็นต้องเรียงลำดับค่าคีย์ (ถ้าฉันต้องใช้พจนานุกรมฉันรู้วิธีใช้)
โดยทั่วไปลักษณะของโปรแกรมนี้คือข้อมูลมาในลำดับสุ่ม (เหมือนข้างบน) ฉันต้องเรียงลำดับประมวลผลแล้วส่งผลลัพธ์ออกมา (ลำดับไม่สำคัญ แต่ผู้ใช้ต้องรู้ว่าผลลัพธ์เป็นของอันไหน สำคัญ). ฉันคิดว่าจะใส่ไว้ในพจนานุกรมก่อนจากนั้นจึงจัดเรียงรายการ แต่ฉันจะไม่มีทางแยกความแตกต่างของรายการที่มีค่าเดียวกันได้หากไม่ได้รับการดูแลรักษาคำสั่งซื้อ (อาจมีผลกระทบเมื่อสื่อสารผลลัพธ์กับผู้ใช้) ตามหลักการแล้วเมื่อฉันได้รับรายชื่อฉันควรจะหาวิธีจัดเรียงรายการทั้งสองเข้าด้วยกัน เป็นไปได้หรือไม่