เมื่อจำเป็นต้องจัดเรียงเมทริกซ์ตามจำนวนอักขระทั้งหมด จะมีการกำหนดวิธีการที่ใช้การเข้าใจรายการและวิธีการ 'ผลรวม' และ 'เลน' เพื่อกำหนดผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
def total_characters(row): return sum([len(element) for element in row]) my_list = [["pyt", "is", "fun"], ["python", "fun"],["py", "4", "good"], ["python"]] print("The list is :") print(my_list) my_list.sort(key=total_characters) print("The result is :") print(my_list)
ผลลัพธ์
The list is : [['pyt', 'is', 'fun'], ['python', 'fun'], ['py', '4', 'good'], ['python']] The result is : [['python'], ['py', '4', 'good'], ['pyt', 'is', 'fun'], ['python', 'fun']]
คำอธิบาย
-
มีการกำหนดเมธอดที่ชื่อ 'total_characters' ซึ่งรับแถวเป็นพารามิเตอร์ และส่งกลับผลรวมขององค์ประกอบเป็นเอาต์พุต
-
ซึ่งทำได้โดยวนซ้ำองค์ประกอบโดยใช้ความเข้าใจรายการและรับความยาวของทุกองค์ประกอบและเพิ่มความยาวเหล่านี้
-
นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล
-
รายการถูกจัดเรียงและมีการเรียกใช้เมธอดโดยส่งพารามิเตอร์ที่จำเป็น
-
ผลลัพธ์นี้ถูกกำหนดให้กับตัวแปร
-
นี่คือเอาต์พุตที่แสดงบนคอนโซล