Second largest number in list Python without inbuilt function

Python program to find second largest number in a list

Given a list of numbers, the task is to write a Python program to find the second largest number in the given list.
Examples:

Input: list1 = [10, 20, 4] Output: 10 Input: list2 = [70, 11, 20, 4, 100] Output: 70

Method 1: Sorting is an easier but less optimal method. Given below is an O[n] algorithm to do the same.

Python3




# Python program to find second largest
# number in a list
# list of numbers - length of
# list should be at least 2
list1 = [10, 20, 4, 45, 99]
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]]
Output Second highest number is : 45

Method 2: Sort the list in ascending order and print the second last element in the list.

Python3




# Python program to find largest
# number in a list
# list of numbers
list1 = [10, 20, 4, 45, 99]
# sorting the list
list1.sort[]
# printing the second last element
print["Second largest element is:", list1[-2]]
Output

Second largest element is: 45

Method 3: By removing the max element from the list

Python3




# Python program to find second largest
# number in a list
# list of numbers
list1 = [10, 20, 4, 45, 99]
# new_list is a set of list1
new_list = set[list1]
# removing the largest element from temp list
new_list.remove[max[new_list]]
# elements in original list are not changed
# print[list1]
print[max[new_list]]
Output 45

Method 4: Find max list element on inputs provided by the user

Python3




# Python program to find second largest
# number in a list
# creating empty list
list1 = []
# asking number of elements to put 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]]

Output:

Enter number of elements in list: 4 Enter elements: 12 Enter elements: 19 Enter elements: 1 Enter elements: 99 Second Largest element is: 19

Method 5: Traverse once to find the largest and then once again to find the second largest.

Python3




def findLargest[arr]:
secondLargest = arr[0]
largest = arr[0]
for i in range[len[arr]]:
if arr[i] > largest:
largest = arr[i]
for i in range[len[arr]]:
if arr[i] > secondLargest and arr[i] != largest:
secondLargest = arr[i]
return secondLargest
print[findLargest[[10, 20, 4, 45, 99]]]

Output:

45




Article Tags :
Python
Python Programs
Python list-programs
python-list
Practice Tags :
python-list
Read Full Article

Python program to find second largest number in a list

In 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

Python Program to Find Second Largest Number in List

This 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:

  • Find Second Largest Number in a List of 10 elements using for Loop
  • Find Second Largest Number in a List of N elements using for Loop
  • Find Second Largest Number in a List of given Size using max[] Method

Second Largest Number in Python

When 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.

  1. Sorting the list and then print the second last number.
  2. Removing the maximum element.
  3. Finding the maximum element.
  4. Traversing the list.

Let us have a look at the first approach-

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

This 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]]
on Aug 01 2021 Donate Comment
6
find max value in list python
python by Clumsy Capybara on Apr 22 2021 Comment
7
how to find largest number in list python without max
python by Xanthous Xenomorph on Jul 05 2021 Comment
0
how to find largest number in list python without max
python by Wicked Wolverine on Aug 13 2021 Comment
0
how to find largest number in list python without max
python by Perfect Pintail on Nov 16 2021 Comment
0
Add a Grepper Answer

Python answers related to “how to find largest number in list python without max”


Python queries related to “how to find largest number in list python without max”

Python program to find the second largest number in a list

PythonServer 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−

Video liên quan

Bài mới nhất

Chủ Đề