Python min() function
Python min() function returns you the minimum value element in an iterable. We can also use this function to determine the smallest value among various arguments passed to this function.
We will discuss the min() function and its use with the help of various examples.
Let’s start with a basic example of this function:
# Smaller number among two numbers
minimum_number = min(3,9)
print("The smaller of the two numbers is",minimum_number)
Output:
The smaller of the two numbers is 3
This is a simple program that returned the smaller of two numbers passed as arguments in the min() function.
The min() function can be used for two operations:
- To find the smallest among various objects or arguments passed directly in it.
- To find the smallest element in an iterable.
min() with Iterable as parameters
Syntax of min() function when dealing with iterable objects.
min(iterable, *iterables, key, default)
Parameters passed in min() function
- Iterable: Python has a range of iterable objects like list, tuple, set, dictionary etc.
- iterables- It is an optional parameter that specifies the number of iterables passed in the function.
- Key: It is used with the iterables where the comparison is performed on the values returned by the key function.
- Default: With the help of using this we can assign a default value to an empty iterable.
Using min() Function on a list
cost = [250, 240, 500, 675, 100, 635]
minimum_cost = min(cost)
print("The cheapest element of the list is:", minimum_cost)
Output:
The cheapest element of the list is: 100
Finding the smallest string in the list
When we pass a list that contains only a string value the smallest list return is not based on the length of the string or the number of characters of the string. But primarily is determined by the alphabetical order of the string.
Let code this:
student_name = ["Vartika", "vaibhav", "Chaitanya", "Ruchika"]
smallest_name = min(student_name)
print("The smallest student name is:", smallest_name)
Output:
The smallest student name is: Chaitanya
As discussed above we can see that number of characters in Chaitanya is more than any other name but it is returned as it determines the smallest according to the alphabetical order.
Using min() Function on a Dictionary
When the min() function is used in the dictionary it returns the key with the smallest value. Here we use the key parameter. Let us see this with an example.
dict = {100: 50, 60: 40, 25: 50, 200: 69}
# least key value is
minimum_key = min(dict)
print("Minimum key value is:", minimum_key)
# the key with smallest pair value is
min_val_key = min(dict, key = lambda i: dict[i])
print("The key with smallest pair value is", min_val_key)
# minimum pair value is
print("The minimum pair value is:", dict[min_val_key])
Output:
Minimum key value is: 25
The key with smallest pair value is 60
The minimum pair value is: 40
Here, the lambda function will return the value of the dictionary. Using this we can compute the smallest value based on the values of the dictionary rather than the dictionary’s key.
Note: If we pass an iterator with no value inside it, ValueError is raised by the console. To avoid such a situation, we use the default keyword that assigns a particular value to the empty iterator. If multiple iterators are passed to the min() function then the smallest iterator are returned.
min() with arguments
Syntax of min() function when dealing with direct arguments.
min(arg1, arg2, *args, key)
Parameters passed in min() function
- args- It can be in any form that is it can be number, string etc. It can be any object that is allowed in Python.
- args2- It is another object from which args1 or later arguments will be compared. It can be in any form is it can be number, string etc.
- *args- It is an optional parameter that allows you to pass multiple arguments there is no limit to the arguments that can be passed when using this parameter.
- key- It is used with the argument is passed and the comparison is performed on the values returned by the return value of those objects.
Example of min() with arguments
#using *args we do not need to exactly specify the number of arguments
# that we wish to pass to the function and can determine the smallest without worrying about
#the number of arguments to be passed
def smallest_number(*args):
print("The minimum argument value is:",min(*args))
smallest_number(1,2,9,36,-45,67,0)
Output:
The minimum argument value is: -45
Conclusion
The min() function is used to determine the smallest value when dealing with numbers, and when a string is passed to the min() function it passes the smallest string that is the first string when all the strings are arranged in ascending alphabetical order. And finally, when dealing with a dictionary it will return the smallest key, we can use the lambda function to determine the smallest value among the value pairs in the dictionary.