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
- Sắp xếp danh sách và sau đó in số cuối cùng thứ hai
- Loại bỏ phần tử tối đa
- Tìm phần tử lớn nhất
- 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-
- 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
- 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
- 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-
- 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
- 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
- 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ó
- 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-
- 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ử
- 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
- 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
- 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-
- 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ó
- 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
- 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