Python program to find second largest number in a listGiven a list of numbers, the task is to write a Python program to find the second largest number in the given list. Show
Method 1: Sorting is an easier but less optimal method. Given below is an O(n) algorithm to do the same. Python3
Output
Second highest number is : 45
Method 2: Sort the list in ascending order and print the second last element in the list. Python3
Output Second largest element is: 45 Method 3: By removing the max element from the list Python3
Output
45
Method 4: Find max list element on inputs provided by the user Python3
Output: Enter number of elements in list: 4 Enter elements: 12 Enter elements: 19 Enter elements: 1 Enter elements: 99 Second Largest element is: 19Method 5: Traverse once to find the largest and then once again to find the second largest. Python3
Output: 45
Article Tags :
Python Python Programs
Python list-programs python-list Practice Tags :
python-list 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. 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 Second Largest Number in PythonWhen we have a lot of elements in our list, the thought of finding the highest or lowest element can come to our mind and Python has made it much easier for us. In this article, we shall how we can use to find the second largest number in Python from a list.
Let us have a look at the first approach- Python Program to Find Second Largest Number in ListThis article is created to cover some programs in Python, that find and prints second largest number or element in a given list. Here are the list of programs covered in this article:
Python Program to Find Second Largest Number in List
Python program to find second largest number in list using Sort() methodUse the following steps to write a python program to find the second largest element or number in the list using sort() method:
# Python program to find second largest number in a list
# using sort method
# make empty list
list1 = []
# take input number of elements in list
num = int(input("Enter number of elements in list: "))
# iterating till num to append elements in list
for i in range(1, num + 1):
ele = int(input("Enter elements: "))
list1.append(ele)
'''
# sort the list
list1.sort()
# print second maximum element
print("Second largest element is:", list1[-2])
'''
# print second maximum element using sorted() method
print("Second largest element is:", sorted(list1)[-2])
After executing the program, the output will be: Enter number of elements in list: 5 Enter elements: 10 Enter elements: 20 Enter elements: 4 Enter elements: 45 Enter elements: 90 Second largest element is: 45Recommended:-Python Program to Find Smallest/Minimum of n Numbers Python program to find second largest number in list using functionUse the following steps to write a python program to find the second largest element or number in the list using custom function and max() method:
# Python program to find second largest number in a list
# using custom function with max method
# make empty list
list1 = []
# take input number of elements in list
num = int(input("Enter number of elements in list: "))
# iterating till num to append elements in list
for i in range(1, num + 1):
ele = int(input("Enter elements: "))
list1.append(ele)
mx=max(list1[0],list1[1])
secondmax=min(list1[0],list1[1])
n =len(list1)
for i in range(2,n):
if list1[i]>mx:
secondmax=mx
mx=list1[i]
elif list1[i]>secondmax and \
mx != list1[i]:
secondmax=list1[i]
print("Second highest number is : ",\
str(secondmax))
After executing the program, the output will be: Enter number of elements in list: 5 Enter elements: 10 Enter elements: 20 Enter elements: 4 Enter elements: 45 Enter elements: 90 Second highest number is : 45Python program to find second largest number in list using Max() methodUse the following steps to write a python program to find the second largest element or number in the list using max() and set() method:
# Python program to find second largest number in a list
# using set and max method
# make empty list
list1 = []
# take input number of elements in list
num = int(input("Enter number of elements in list: "))
# iterating till num to append elements in list
for i in range(1, num + 1):
ele = int(input("Enter elements: "))
list1.append(ele)
# create new list using set
new_list = set(list1)
# delete the largest element from new list
new_list.remove(max(new_list))
print("Second largest element is:", max(new_list))
After executing the program, the output will be: Enter number of elements in list: 5 Enter elements: 10 Enter elements: 20 Enter elements: 4 Enter elements: 45 Enter elements: 90 Second highest number is : 45Python program to find the second largest number in a listPythonServer Side ProgrammingProgramming In this article, we will learn about the solution to the problem statement given below. Problem statement− We are given a list, we need to display the second largest number in a list. There are three approaches to solve the problem− Python Program to find Second Largest Number in a List Example 1This python programallows user to enter the length. Next, we used For Loop to add numbers to the list in Python. The sort function in python sorts the List elements in ascending order. Next, we are using the Python Index position to print Last but one element in a List. NumList = [] Number = int(input("Please enter the Total Number of List Elements: ")) for i in range(1, Number + 1): value = int(input("Please enter the Value of %d Element : " %i)) NumList.append(value) NumList.sort() print("The Largest Element in this List is : ", NumList[Number - 2])Another way Removing the maximum element Use the set() function, max() & remove() function. list1 = [10, 20, 70, 40, 90] new_list = set(list1) # removing the largest element from list1 new_list.remove(max(new_list)) print(max(new_list))Output: 70 Do comment if you have any doubts or suggestions on this Python list topic.
Degree in Computer Science and Engineer: App Developer and has multiple Programming languages experience. Enthusiasm for technology & like learning technical. Share this:
Related |