Chúng tôi có một danh sách các tuple. Chúng tôi bắt buộc phải tìm ra tuple đó là giá trị lớn nhất trong đó. Nhưng trong trường hợp có nhiều bộ giá trị giống nhau, chúng ta cần bộ giá trị đầu tiên có giá trị lớn nhất.
Với itemgetter và max
Với itemgetter (1), chúng ta lấy tất cả giá trị từ vị trí chỉ mục 1 và sau đó áp dụng hàm max để lấy item có giá trị lớn nhất. Nhưng trong trường hợp trả về nhiều kết quả, chúng tôi áp dụng chỉ số 0 để lấy bộ giá trị đầu tiên có phần tử tối đa trong đó.
Ví dụ
from operator import itemgetter # initializing list listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # Given list print("Given list : \n" ,listA) # using max() and itemgetter() res = max(listA, key=itemgetter(1))[0] # printing result print("Day with maximum score is : \n",res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue
Với max và lambda
Chúng ta sử dụng hàm lambda để lấy các phần tử ở vị trí chỉ mục 1 sau đó áp dụng hàm max. Sau đó, chúng tôi áp dụng vị trí chỉ số 0 để lấy điểm đầu tiên trong số nhiều trận đấu để có kết quả cuối cùng.
Ví dụ
# initializing list listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # Given list print("Given list : \n" ,listA) # using max() and lambda res = max(listA, key = lambda i : i[1])[0] # printing result print("Day with maximum score is : \n",res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue
Có sắp xếp
Trong cách tiếp cận này, chúng tôi sử dụng hàm đã sắp xếp với điều kiện được đảo ngược bằng điều kiện đúng khi áp dụng hàm lambda.
Ví dụ
# initializing list listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # Given list print("Given list : \n" ,listA) # using sorted() and lambda res = sorted(listA, key = lambda i: i[1], reverse = True)[0][0] # printing result print("Day with maximum score is : \n",res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue