In this article, we will show you, How to write a Python Program to find Second Largest Number in a List with practical example. Before you start, please refer List article to understand everything about Lists.

## Python Program to find Second Largest Number in a List Example 1

This python program allows user to enter the length of a List. Next, we used For Loop to add numbers to the list.

The Sort function in python will sort List elements in ascending order. Next, we are using the Index position to print Last but one element in a List

# Python Program to find Second Largest Number 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])

**OUTPUT**

## Python Program to find Second Largest Number in a List Example 2

This program will sort list items in Ascending order. Next, we used reverse function to reverse the list items. Lastly, we used index position 1 to print second element in a list

# Python Program to find Second Largest Number 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() NumList.reverse() print("The Largest Element in this List is : ", NumList[1)

**OUTPUT**

## Python Program to find Second Largest Number in a List Example 3

In this program we are not using any built-in function such as sort, or reverse function

# Python Program to find Second Largest Number 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) first = second = NumList[0] for j in range(1, Number): if(NumList[j] > first): second = first first = NumList[j] elif(NumList[j] > second and NumList[j] < first): second = NumList[j] print("The Largest Element in this List is : ", first) print("The Second Largest Element in this List is : ", second)

**OUTPUT**

**ANALYSIS**

From the above screenshot you can observe that, User inserted values are

NumList[4] = {55, 57, 22, 3}

first = second = NumList[0] = 55

**First Iteration – **for 1 in range(1, 4) – Condition is true

So, it will start executing If statement inside the loop until the condition fails.

if(NumList[j] > first)inside the for loop is True because (57 > 55)

second = first = 55

first = NumList[1] = 57

**Second Iteration: **for 2 in range(1, 4) – Condition is true

If (NumList[2] > first) = (22 > 57) – Condition is False. So, it will enter into elif statement

elif(NumList[2] > second and NumList[2] < first)

elif(22 > 55 and 22 < 57) – Condition is False

**Third Iteration: **for 3 in range(1, 4) – Condition is true

If (3 > 57) – Condition is False

elif(3 > 55 and 3 < 57) – Condition is False

**Fourth Iteration: **for 4 in range(1, 4) – Condition is False

So it will exit from the loop.