Một list có thể chứa list khác làm phần tử. Trong bài này ta cần tìm sublist có giá trị lớn nhất trong các sublist có mặt trong danh sách cho trước.
Với max và lambda
Hàm max và lambda có thể cùng dùng để cho ra sublist có giá trị lớn nhất.
Ví dụ
listA = [['Mon', 90], ['Tue', 32], ['Wed', 120]] # Sử dụng lambda res = max(listA, key=lambda x: x[1]) # in kết quả print("Given List:\n", listA) print("List with maximum value:\n ", res)Đầu ra
Chạy mã trên cho kết quả sau:
Given List: [['Mon', 90], ['Tue', 32], ['Wed', 120]] List with maximum value: ['Wed', 120]
Với itemgetter
Ta dùng itemgetter từ vị trí index 1 và áp dụng max để lấy sublist có giá trị lớn nhất.
Ví dụ
import operator listA = [['Mon', 90], ['Tue', 32], ['Wed', 120]] # Sử dụng itemgetter res = max(listA, key=operator.itemgetter(1)) # in kết quả print("Given List:\n", listA) print("List with maximum value:\n ", res)Đầu ra
Chạy mã trên cho kết quả sau:
Given List: [['Mon', 90], ['Tue', 32], ['Wed', 120]] List with maximum value: ['Wed', 120]