Instagram
youtube
Facebook
Twitter

Python Program to Find the Second Highest Number in a List

A Python Program to Find the Second Highest Number in a List

Code Explanation:

Function Definition:
second_highest_number(lst) is a function that finds the second largest unique number in a list.

Initial Values:
first_highest and second_highest are initialized to negative infinity for proper comparison.

Loop Through List:
Iterates through each number in the list.

Update Values:

  • If current number > first_highest, update both first_highest and second_highest.
     
  • If current number > second_highest but ≠ first_highest, update only second_highest.

Edge Case Check:
If second_highest is still -inf, it means a second highest doesn't exist.

Return Result:
Returns the second highest number or a message if not found.

 

Program:

def second_highest_number(lst):

    first_highest = second_highest = float('-inf')

    for i in lst:

        if i > first_highest:

            second_highest = first_highest

            first_highest = i

        elif i > second_highest and i != first_highest:

            second_highest = i

    if second_highest == float('-inf'):

        return "No second highest number found"

    return second_highest

my_list = [1, 2, 3, 4, 5, 9, 0, 5, 4]

print("Second highest number:", second_highest_number(my_list))