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

Python – เรียงลำดับเมทริกซ์ตามผลรวมของแถว

เมื่อต้องการเรียงลำดับเมทริกซ์ (ลิสต์ของลิสต์) ตามผลรวมของแต่ละแถว สามารถกำหนดฟังก์ชันช่วยที่ใช้ sum() ได้

ตัวอย่าง

def sort_sum(row):
    return sum(row)

my_list = [[34, 51], [32, 15, 67], [12, 41], [54, 36, 22]]
print("The list is :")
print(my_list)
my_list.sort(key=sort_sum)
print("The result is :")
print(my_list)

ผลลัพธ์

The list is : [[34, 51], [32, 15, 67], [12, 41], [54, 36, 22]]
The result is : [[12, 41], [34, 51], [54, 36, 22], [32, 15, 67]]

คำอธิบาย

  • กำหนดฟังก์ชัน sort_sum คืนค่า sum(row) ผลรวมสมาชิกในแถว

  • กำหนดเมทริกซ์และแสดงผล

  • ใช้ sort(key=sort_sum) เรียงแถวตามผลรวมจากน้อยไปมาก

  • ผลรวม: [53, 114, 53, 112] -> เรียงได้ [12,41](53), [34,51](85), [54,36,22](112), [32,15,67](114)