เมื่อจำเป็นต้องจัดเรียงรายการสตริงตามจำนวนอักขระที่ไม่ซ้ำกัน จะมีการกำหนดวิธีการที่ใช้ตัวดำเนินการ 'set' วิธี 'list' และวิธีการ 'len'
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
def my_sort_func(my_elem): return len(list(set(my_elem))) my_list = ['python', "Will", "Hi", "how", 'fun', 'learn', 'code'] print("The list is : ") print(my_list) my_list.sort(key = my_sort_func) print("The result is :") print(my_list)
ผลลัพธ์
The list is : ['python', 'Will', 'Hi', 'how', 'fun', 'learn', 'code'] The result is : ['Hi', 'Will', 'how', 'fun', 'code', 'learn', 'python']
คำอธิบาย
-
มีการกำหนดเมธอดชื่อ 'my_sort_func' ซึ่งรับสตริงเป็นพารามิเตอร์
-
ขั้นแรกจะแยกองค์ประกอบที่ไม่ซ้ำออกจากรายการโดยใช้ 'set' และแปลงเป็นชุด จากนั้นจึงแยกความยาวของรายการ
-
นอกเมธอด จะมีการกำหนดรายการสตริงและแสดงบนคอนโซล
-
รายการถูกจัดเรียงโดยระบุคีย์เป็นวิธีการที่กำหนดไว้ก่อนหน้านี้
-
ผลลัพธ์จะปรากฏบนคอนโซล