Tìm số lớn thứ hai trong danh sách python bằng chức năng

Trong bài viết này, chúng ta sẽ tìm hiểu về lời giải cho bài toán đưa ra dưới đây

Báo cáo 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 danh sách

Có ba cách tiếp cận để giải quyết vấn đề−

Cách tiếp cận 1 - Chúng tôi sử dụng hàm set[] và hàm remove[]

Ví dụ

Bản thử trực tiếp

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ỉ số phủ định

Ví dụ

Bản thử trực tiếp

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

Cách tiếp cận 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ụ

Bản thử trực tiếp

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

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách tìm phần tử lớn thứ hai trong danh sách

Khi chúng ta có nhiều phần tử trong danh sách của mình, ý nghĩ tìm phần tử cao nhất hoặc thấp nhất có thể xuất hiện trong đầu chúng ta và Python đã giúp chúng ta dễ dàng hơn nhiều

Trong bài viết này, chúng ta sẽ tìm hiểu cách chúng ta có thể sử dụng để tìm số lớn thứ hai trong Python từ một danh sách

  1. Sắp xếp danh sách và sau đó in số cuối cùng thứ hai
  2. Loại bỏ phần tử tối đa
  3. Tìm phần tử lớn nhất
  4. Duyệt qua danh sách

Chúng ta hãy xem cách tiếp cận đầu tiên-

Sắp xếp danh sách và sau đó in số cuối cùng thứ hai

Chương trình sau minh họa cách chúng ta có thể làm điều đó trong Python-

Ví dụ -

đầu ra

The second largest element of the list is: 30

Đã đến lúc đi đến phần giải thích-

  1. Chúng tôi đã khai báo danh sách mà chúng tôi muốn lấy ra phần tử cuối cùng thứ hai
  2. Sau này, chúng tôi đã sử dụng phương pháp sắp xếp để tất cả các phần tử trong danh sách của chúng tôi được sắp xếp theo thứ tự tăng dần
  3. Bây giờ chúng tôi sử dụng lập chỉ mục phủ định vì số lớn thứ hai sẽ đứng ở vị trí cuối cùng thứ hai

Phương pháp thứ hai là lấy phần tử lớn thứ hai của danh sách bằng cách loại bỏ phần tử lớn nhất

Hãy để chúng tôi xem làm thế nào chúng ta có thể làm điều đó

Loại bỏ phần tử tối đa

Ví dụ -

đầu ra

Giải trình -

Hãy cho chúng tôi hiểu những gì chúng tôi đã làm trong chương trình trên-

  1. Chúng tôi đã khai báo danh sách mà chúng tôi muốn lấy ra phần tử cuối cùng thứ hai
  2. Sau đó, chúng tôi đã sử dụng phương thức set để lấy tất cả các phần tử duy nhất của danh sách
  3. Bây giờ chúng tôi sử dụng max[] để lấy giá trị lớn nhất từ ​​​​danh sách và sau đó loại bỏ nó
  4. Sau đó, chúng tôi in tối đa danh sách kết quả sẽ cung cấp cho chúng tôi số lớn thứ hai

Trong phương pháp thứ ba, chúng ta sẽ sử dụng vòng lặp for và tìm số lớn thứ hai trong danh sách

Ví dụ -

đầu ra

Enter number of elements in list: 5

Enter the elements: 10

Enter the elements: 20

Enter the elements: 30

Enter the elements: 40

Enter the elements: 50
The second largest element is: 40

Giải trình -

Hãy để chúng tôi xem qua những gì chúng tôi đã làm ở đây-

  1. Chúng tôi đã khai báo một danh sách trống trong đó chúng tôi sẽ chèn các phần tử
  2. Sau đó, chúng tôi yêu cầu người dùng cung cấp cho chúng tôi số lượng phần tử mà chúng tôi muốn thêm vào danh sách của mình
  3. Sau đó, chúng tôi sử dụng phương pháp sắp xếp để tất cả các phần tử trong danh sách của chúng tôi được sắp xếp theo thứ tự tăng dần
  4. Bây giờ chúng tôi sử dụng lập chỉ mục phủ định vì số lớn thứ hai sẽ đứng ở vị trí cuối cùng thứ hai

Duyệt qua danh sách

Trong chương trình cuối cùng, chúng ta sẽ duyệt qua danh sách để tìm số lớn nhất và sau đó sử dụng các câu lệnh điều kiện để tìm số lớn thứ hai trong danh sách

Chương trình sau đây minh họa tương tự-

Ví dụ -

đầu ra

Giải trình -

Hãy cho chúng tôi hiểu những gì chúng tôi đã làm trong chương trình trên-

  1. Bước đầu tiên là tạo một hàm kiểm tra số lớn nhất trong danh sách bằng cách duyệt qua nó
  2. Trong vòng lặp for tiếp theo, chúng tôi duyệt lại danh sách để tìm số cao nhất nhưng lần này loại trừ số trước đó vì ở đây mục tiêu của chúng tôi là tìm hàm lớn thứ hai
  3. Cuối cùng, chúng tôi chuyển danh sách của mình vào hàm

Vì vậy, trong bài viết này, chúng ta đã có cơ hội suy nghĩ sáng tạo và khám phá một số cách mới để phát triển logic tìm số lớn thứ hai trong Python

Chủ Đề