Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để tìm số lớn thứ hai trong danh sách


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.