เรามี List ของสตริง และต้องการเรียงลำดับตามความยาวของสตริง (Length) จากน้อยไปมาก (Ascending) ใช้เมธอด sort() หรือฟังก์ชัน sorted() ร่วมกับ key=len
ตัวอย่าง
Input: ["hafeez", "aslan", "honey", "appi"] Output: ["appi", "aslan", "honey", "hafeez"]
วิธีที่ 1: ใช้ sorted() function
strings = ["hafeez", "aslan", "honey", "appi"] sorted_list = list(sorted(strings, key=len)) print(sorted_list)
ผลลัพธ์
['appi', 'aslan', 'honey', 'hafeez']
วิธีที่ 2: ใช้ sort() method
strings = ["hafeez", "aslan", "honey", "appi"] strings.sort(key=len) print(strings)
ผลลัพธ์
['appi', 'aslan', 'honey', 'hafeez']
ความแตกต่าง
- sorted() คืนค่า list ใหม่ ไม่เปลี่ยน list เดิม
- sort() เรียงใน list เดิม (in-place) คืนค่า None
สรุป
ใช้ key=len กับ sorted() หรือ sort() เพื่อเรียงตามความยาวสตริง sorted() สร้าง list ใหม่ sort() แก้ไข list เดิม หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น