Related Articles
Python | Largest, Smallest, Second Largest, Second Smallest in a List
• Last Updated : 28 Feb, 2019

Since, unlike other programming languages, Python does not have arrays, instead, it has list. Using lists is more easy and comfortable to work with in comparison to arrays. Moreover, the vast inbuilt functions of Python, make the task easier. So using these techniques, let’s try to find the various ranges of the number in a given list.
Examples:

```Input : list = [12, 45, 2, 41, 31, 10, 8, 6, 4]
Output :
Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4

Input : list = [22, 85, 62, 40, 55, 12, 39, 2, 43]
Output :
Largest element is: 85
Smallest element is: 2
Second Largest element is: 62
Second Smallest element is: 12
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

The approach is simple. Python allows us to sort a list using the list() function. Using this we can find various ranges of numbers in a list, from there position, after being sorted. Like the first position must contain the smallest and the last element must be the greatest.

 `# Python prog to illustrate the following in a list``def` `find_len(list1):``    ``length ``=` `len``(list1)``    ``list1.sort()``    ``print``(``"Largest element is:"``, list1[length``-``1``])``    ``print``(``"Smallest element is:"``, list1[``0``])``    ``print``(``"Second Largest element is:"``, list1[length``-``2``])``    ``print``(``"Second Smallest element is:"``, list1[``1``])`` ` `# Driver Code``list1``=``[``12``, ``45``, ``2``, ``41``, ``31``, ``10``, ``8``, ``6``, ``4``]``Largest ``=` `find_len(list1)`
Output:
```Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4
```

Below is another and traditional method to do the following calculation. The algorithm is simple, we take a number and compare it with all other numbers present in the list and get the largest, smallest, second largest and second smallest element.

 `# Python program to find largest, smallest, ``# second largest and second smallest in a``# list with complexity O(n)``def` `Range``(list1): ``    ``largest ``=` `list1[``0``] ``    ``lowest ``=` `list1[``0``] ``    ``largest2 ``=` `None``    ``lowest2 ``=` `None``    ``for` `item ``in` `list1[``1``:]:     ``        ``if` `item > largest: ``            ``largest2 ``=` `largest``            ``largest ``=` `item ``        ``elif` `largest2 ``=``=` `None` `or` `largest2 < item: ``            ``largest2 ``=` `item ``        ``if` `item < lowest: ``            ``lowest2 ``=` `lowest``            ``lowest ``=` `item ``        ``elif` `lowest2 ``=``=` `None` `or` `lowest2 > item: ``            ``lowest2 ``=` `item ``             ` `    ``print``(``"Largest element is:"``, largest) ``    ``print``(``"Smallest element is:"``, lowest) ``    ``print``(``"Second Largest element is:"``, largest2) ``    ``print``(``"Second Smallest element is:"``, lowest2) `` ` ` ` `# Driver Code``list1 ``=` `[``12``, ``45``, ``2``, ``41``, ``31``, ``10``, ``8``, ``6``, ``4``]``Range``(list1)`
Output:
```Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4
```

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

My Personal Notes arrow_drop_up