Python program to find the second-largest number in a list
Simple example code printing the second last element. Simply just sort the given list in ascending order and get the second last element in the list.
list1 = [10, 20, 70, 40, 90] # sorting the list list1.sort() print("Second largest element is:", list1[-2])
Another way Removing the maximum element
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))
Here’s Another Python program to do that:
def second_largest(numbers): # Check if the list has at least two elements if len(numbers) < 2: return "List should have at least two numbers." # Sort the list in descending order numbers.sort(reverse=True) # The second largest number is the second element in the sorted list return numbers # Example usage: my_list = [10, 5, 8, 20, 2] result = second_largest(my_list) if type(result) == int: print("The second largest number in the list is:", result) else: print(result)
In this program, we define a function called
second_largest that takes a list of numbers as its argument. It first checks if the list has at least two elements to ensure there’s a second largest number. Then, it sorts the list in descending order using the
sort method with the
reverse=True argument. Finally, it returns the second element of the sorted list, which is the second largest number.
The example usage at the end of the program demonstrates how to use the
second_largest function with a sample list. You can replace
my_list with your own list of numbers to find the second largest number in your data.
Comment if you have any doubts or suggestions on this Python list topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.