 # Python | Largest, smallest, second largest, second smallest on the list

Because, unlike other programming languages, there are no arrays in Python, but a list. Working with lists is easier and more convenient than arrays. What`s more, Python`s extensive built-in functions make the task easier. So, using these methods, let`s try to find the different ranges of the number in the 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 `

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

 ` # Python prog to illustrate the following in the list ` ` def ` ` find_len (list1): ` ` length ` ` = ` ` len ` ` ( list1) ` ` list1.sort () ` ` print ` ` (` ` "Largest element is: "` `, list1 [length ` ` - ` ` 1 ` `]) ` ` print ` < code class = "plain"> ( ` "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) ```

Exit:

` Largest element is: 45 Smallest element is: 2 Second Largest element is: 41 Second Smallest element is: 4 `

Below is another traditional method for performing the following calculations. The algorithm is simple: we take a number and compare it with all the other numbers in the list, and we get the largest, smallest, second largest, and second smallest element.

` `

``` # Python program to find the largest, smallest, # second largest and second smallest in # 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 & gt; largest:  largest2 = largest largest = item  elif largest2 = = None or largest2 & lt; item:  largest2 = item  if item & lt; lowest:  lowest2 = lowest lowest = item  elif lowest2 = = None or lowest2 & gt; 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) ```

` ` Exit :

` Largest element is: 45 Smallest element is: 2 Second Largest element is: 41 Second Smallest elem ent is: 4 `