ภาพรวม
บทความนี้สาธิตวิธีการเรียงลำดับรายการ (list) ของ tuple เรียงจากน้อยไปมาก โดยอิงตามองค์ประกอบตัวสุดท้ายของแต่ละ tuple ใช้ฟังก์ชัน sorted() ร่วมกับพารามิเตอร์ key เพื่อกำหนดเกณฑ์การเรียงลำดับ
ตัวอย่างโค้ด
def sort_last_elem(num):
return num[-1]
def sort_structure(my_tuple):
return sorted(my_tuple, key=sort_last_elem)
my_list = [(45, 31), (23, 67), (92, 60), (90, 12)]
print("รายการเดิม:")
print(my_list)
print("รายการที่เรียงแล้ว:")
print(sort_structure(my_list))ผลลัพธ์
รายการเดิม: [(45, 31), (23, 67), (92, 60), (90, 12)] รายการที่เรียงแล้ว: [(90, 12), (45, 31), (92, 60), (23, 67)]
คำอธิบาย
- sort_last_elem: ฟังก์ชันส่งคืนองค์ประกอบตัวสุดท้ายของ tuple (index -1)
- sort_structure: ใช้
sorted()พร้อมkey=sort_last_elemเพื่อเรียงลำดับรายการ tuple ตามค่าที่ฟังก์ชันแรกส่งคืน - โปรแกรมสร้างรายการ tuple แสดงผลก่อนและหลังการเรียงลำดับ
จุดสำคัญ
เทคนิคนี้ใช้งานได้กับ tuple ขนาดไม่เท่ากันได้ เนื่องจาก num[-1] จะเข้าถึงองค์ประกอบสุดท้ายเสมอ ไม่ว่าจะมีสมาชิกกี่ตัว