Find 3rd largest number in list Python
Python program to find second largest number in a listIn this tutorial, we will write a Python program to find the second largest number in a list. List is an ordered set of values enclosed in square brackets [ ]. List stores some values called elements in it, which can be accessed by their particular index. We will be following various approaches to find the second largest number in a list. Show For a given list of numbers, the task is to find the largest number in the list. Input: [11, 5, 2, 8, 4, 19] Output: 11 Input: [2, 11, 18, 23, 6] Output: 18 Approach to find second largest number in a listFor executing this program in Python, there are multiple approaches we can follow:
Let us look at each approach in detail. Approach 1: Find Second LargestIn this approach, we will first sort the elements of the list. For sorting the list we will use the predefined sort() function in Python. It will sort the elements in the list in ascending order. Then, we will print the element present at the second last position after sorting. This will be the second-largest element in the list. AlgorithmFollow the algorithm to understand the approach better Step 1- Declare a function for finding the second largest number Step 2- Use sort() method to sort the list Step 3- Return the second last element in the list after sorting using negative indexing Step 4- Declare a list and take input or initialise values Step 5- Call the function Step 6- Print the value returned by the function Python Program 1Look at the program to understand the implementation of the above-mentioned approach. #second largest number in list #function def second_largest(list): list.sort() return list[-2] #input of list li=[] n=int(input("Enter size of list ")) for i in range(0,n): e=int(input("Enter element of list ")) li.append(e) #smallest print("second largest in ",li,"is") print(second_largest(li))
To get the element at the second last index we have used negative indexing. Approach 2: By Removing the maximum number from the listIn this approach, we will first find the maximum element in the list using built-in max() function. After getting the largest number we will delete it from the list using list.remove() which will remove the element from the list. Then again call the max() function to get the current maximum number in the list. This will be the second largest element in the list. AlgorithmFollow the algorithm to understand the approach better Step 1- Declare a function for finding the second largest number Step 2- Use max() method and store the value returned by it in a variable Step 3- Remove largest element from the list Step 4- Again call max() and store the maximum element in the variable Step 5- Return variable, this will be the second largest element Step 6- Declare a list and take input or initialise values Step 7- Call the function Step 8- Print the value returned by the function Python ProgramLook at the program to understand the implementation of the above-mentioned approach. #second largest number in list #function def second_largest(list): large= max(list) list.remove(large) large= max(list) return large #input of list li=[] n=int(input("Enter size of list ")) for i in range(0,n): e=int(input("Enter element of list ")) li.append(e) #smallest print("second largest in ",li,"is") print(second_largest(li))
Approach 3: Brute-force approachIn this approach, we will follow the Brute-force approach. It is an exhaustive search algorithm where all the possible test solutions are checked for getting the optimal solution. AlgorithmFollow the algorithm to understand the approach better Step 1- Define a function to find the second largest number in the list Step 2- Declare variables and store the maximum nd minimum between the first and the second element in the list Step 3- Find length of list using len() and store in n Step 4- Run a loop from 2 to n Step 5- Check if list element is greater than maximum, if true update second maximum to maximum and set list element as maximum Step 6- Else, if list element is greater than second maximum number then update list element as second maximum Step 7- Return second maximum element Step 8- Declare a list and take input or initialise values Step 9- Call the function Step 10- Print the value returned by the function Python ProgramLook at the program to understand the implementation of the above-mentioned approach. #second largest number in list #brute-force #function def second_largest(list): maximum= max(list[0],list[1]) second_max= min(list[0],list[1]) n=len(list) for i in range(2, n): if list[i]>maximum: second_max=maximum maximum=list[i] else: if list[i]>second_max: second_max=list[i] return second_max #input of list li=[] n=int(input("Enter size of list ")) for i in range(0,n): e=int(input("Enter element of list ")) li.append(e) #smallest print("second largest in ",li,"is") print(second_largest(li))
ConclusionIn this tutorial, we have discussed different approaches for finding the second largest element in the list. We have discussed three approaches- using sorted list elements to print the second last element, by removing the maximum element from the list and then finding the largest in the list and lastly, we have used the Brute-force approach to get the second largest element in the list. |