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

เรียงลำดับ List ตามความยาวของสมาชิกใน Python

เรามี 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 เดิม หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น