The Python min() function allows you use a lambda expression to apply a function to the elements of a list before finding the minimum value. You can easily define a lambda expression and use it with min().
example_list = [0, 3, 1, -3, -5, 4]
print(min(example_list, key=lambda x:abs(x)))
#Output:
0
When working with collections of data, the ability to find the minimum value of the collection can be useful.
The Python min() function allows you to find the minimum value of different objects.
One cool thing is that you can pass a lambda expression to the “key” parameter to instruct min() what to use to find the minimum value.
For example, if we have a list of numbers and want to take the minimum after applying the absolute value to each element, we can use a lambda.
Below shows a simple example of using a lambda expression with min() in Python.
example_list = [0, 3, 1, -3, -5, 4]
print(min(example_list, key=lambda x:abs(x)))
#Output:
0
Using Lambda Expression with min() Function on List of Objects in Python
One use of a lambda expression with min() is if you want to find the minimum value in list of objects.
For example, let’s say we have a list of dictionaries and want to find the minimum value over our list for the key “height”.
You can easily do this with “key” and a lambda expression.
Below is an example of how to use a lambda expression with min() to get the minimum value of a list of dictionaries for a given key.
data = [{"name":"Andrew", "age":10, "height":50}, {"name":"Sally", "age":9, "height":45}, {"name":"Jose", "age":11, "height":52}]
print(min(data,key=lambda x: x["height"]))
#Output:
{"name":"Sally", "age":9, "height":45}
If you have a list of tuples, you can use “key” and a lambda as well to get the minimum value of a given position in the tuples.
Below is an example of how to use a lambda expression with min() to get the minimum value of a list of tuples for the first element.
data = [(0,'a'),(3,'d'),(2,'r'),(1,'m')]
print(min(data, key=lambda x: x[0]))
#Output:
(0,'a')
Using Lambda Expression with max() Function in Python
If you want to go the other way and use a lambda expression with the Python max() function, you can do the same as above.
From the first example, we can find the maximum of a list of numbers after taking the absolute value in the same way as we did before.
Below shows you how to use a lambda expression with max() in Python.
example_list = [0, 3, 1, -3, -5, 4]
print(max(example_list, key=lambda x:abs(x)))
#Output:
-5
Hopefully this article has been useful for you to learn how to use a lambda expression with min() in Python.