# Python program to find smallest number in a list

• Difficulty Level : Easy
• Last Updated : 28 Oct, 2022

We are given a list of numbers and our task is to write a Python program to find the smallest number in given list. For the following program we can use various methods including the built-in min method, sorting the  array and returning the last element, etc.
Example:

```Input : list1 = [10, 20, 4]
Output : 4

Input : list2 = [20, 10, 20, 1, 100]
Output : 1```

## Sorting the list to find smallest number in a list

### In Ascending order

Here writing a Python program where we are sorting the entire list and then returning the first element as it’ll be the smallest element present in the list.

## Python3

 `# Python program to find smallest``# number in a list` `# list of numbers``list1 ``=` `[``10``, ``20``, ``4``, ``45``, ``99``]` `# sorting the list``list1.sort()` `# printing the first element``print``(``"Smallest element is:"``, list1[``0``])`

Output:

`smallest element is: 4`

### In Descending order

Here we are sorting using the sort() function the entire list and then returning the last element as it’ll be the smallest element present in the list.

## Python3

 `# list of numbers``list1 ``=` `[``10``, ``20``, ``4``, ``45``, ``99``]` `# sorting the list``list1.sort(reverse``=``True``)` `# printing the first element``print``(``"Smallest element is:"``, list1[``-``1``])`

Output:

`smallest element is: 4`

## Using min() Method to find smallest number in a list

Here we are using the min Method and then returning the smallest element present in the list.

## Python3

 `# Python program to find smallest``# number in a list` `# list of numbers``list1 ``=` `[``10``, ``20``, ``1``, ``45``, ``99``]`  `# printing the maximum element``print``(``"Smallest element is:"``, ``min``(list1))`

Output:

`Smallest element is: 1`

## Python3

 `# Python program to find smallest``# 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)``    ` `# print maximum element``print``(``"Smallest element is:"``, ``min``(list1))`

Output:

```Enter number of elements in list: 4
Enter elements: 12
Enter elements: 19
Enter elements: 11
Enter elements: 99
Smallest element is: 11```

## Python3

 `# Python program to find smallest``# number in a list` `l``=``[ ``int``(l) ``for` `l ``in` `input``(``"List:"``).split(``","``)]``print``(``"The list is "``,l)` `# Assign first element as a minimum.``min1 ``=` `l[``0``]` `for` `i ``in` `range``(``len``(l)):` `    ``# If the other element is min than first element``    ``if` `l[i] < min1:``        ``min1 ``=` `l[i] ``#It will change` `print``(``"The smallest element in the list is "``,min1)`

Input:

`List: 23,-1,45,22.6,78,100,-5`

Output:

```The list is ['23', '-1', '45', '22.6', '78', '100','-5']
The smallest element in the list is  -5```

## Using the lambda function to find smallest number in a list

Here we are using the lambda function to print the smallest number present in the list.

## Python3

 `# Python code to print smallest element in the list` `lst ``=` `[``20``, ``10``, ``20``, ``1``, ``100``]``print``(``min``(lst, key``=``lambda` `value: ``int``(value)) )`

Output:

`1`

## Using the enumerate function to find smallest number in a list

Here we are iterating over the list using the enumerate() function and returning the last element.

## Python3

 `lst ``=` `[``20``, ``10``, ``20``, ``1``, ``100``]``a,i ``=` `min``((a,i) ``for` `(i,a) ``in` `enumerate``(lst))``print``(a)`

Output:

`1`

## Using reduce function to find the smallest number in a list

Here we are iterating over the list using reduce() function and returning the smallest element.

## Python

 `# Python code to print smallest element in the list``from` `functools ``import` `reduce``lst ``=` `[``20``, ``10``, ``20``, ``15``, ``100``]``print``(``reduce``(``min``,lst) )`

Output

```10
```

My Personal Notes arrow_drop_up