Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.
Tuyên bố sự cố - Chúng tôi được cung cấp một danh sách, chúng tôi cần hiển thị số lớn thứ hai trong một danh sách.
Có ba cách tiếp cận để giải quyết vấn đề−
Phương pháp 1 - Chúng tôi sử dụng hàm set () &hàm remove ()
Ví dụ
list1 = [11,22,1,2,5,67,21,32] # to get unique elements new_list = set(list1) # removing the largest element from list1 new_list.remove(max(new_list)) # now computing the max element by built-in method? print(max(new_list))
Đầu ra
32
Cách tiếp cận 2 - Chúng tôi sử dụng phương thức sort () và các chỉ mục phủ định
Ví dụ
list1 = [11,22,1,2,5,67,21,32] # using built-in sort method list1.sort() # second last element print("Second largest element in the list is:", list1[-2])
Đầu ra
Second largest element in the list is: 32
Phương pháp 3 - Chúng tôi sử dụng phương pháp brute-force để lấy phần tử tối đa thứ hai
Ví dụ
list1 = [11,22,1,2,5,67,21,32] #assuming max_ is equal to maximum of element at 0th and 1st index and secondmax is the minimum among them max_=max(list1[0],list1[1]) secondmax=min(list1[0],list1[1]) for i in range(2,len(list1)): # if found element is greater than max_ if list1[i]>max_: secondmax=max_ max_=list1[i] #if found element is greator than secondmax else: if list1[i]>secondmax: secondmax=list1[i] print("Second highest number is the list is : ",str(secondmax))
Đầu ra
Second highest number is the list is : 32
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về cách chúng ta có thể tìm thấy phần tử lớn thứ hai trong danh sách.