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

Input:list1 = [10, 20, 4]Output:10Input: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

Attention geek! Strengthen your foundations with the **Python Programming Foundation** Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the **Python DS** Course. And to begin with your Machine Learning Journey, join the **Machine Learning – Basic Level Course**