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

Find Sublist with Maximum Value ใน Nested List Python

ได้ Nested List (ลิสต์ของลิสต์) แต่ละสับลิสต์มี 2 สมาชิก [key, value] หาสับลิสต์ที่มี value สูงสุด

วิธี 1: ใช้ max() กับ lambda

listA = [['Mon', 90], ['Tue', 32], ['Wed', 120]]
res = max(listA, key=lambda x: x[1])
print(res)  # ['Wed', 120]

วิธี 2: ใช้ operator.itemgetter(1)

import operator
listA = [['Mon', 90], ['Tue', 32], ['Wed', 120]]
res = max(listA, key=operator.itemgetter(1))
print(res)  # ['Wed', 120]

สรุป

itemgetter(1) เร็วกว่า lambda เล็กน้อย เหมาะสำหรับข้อมูลมาก ทั้งคู่คืน Sublist แรกที่เจอเมื่อค่าเท่ากัน