The Python max() function allows you use a lambda expression to apply a function to the elements of a list before finding the maximum value. You can easily define a lambda expression and use it with max().

example_list = [0, 3, 1, -3, -5, 4]

print(max(example_list, key=lambda x:abs(x)))

#Output:
-5

When working with collections of data, the ability to find the maximum value of the collection can be useful.

The Python max() function allows you to find the maximum value of different objects.

One cool thing is that you can pass a lambda expression to the “key” parameter to instruct max() what to use to find the maximum value.

For example, if we have a list of numbers and want to take the maximum after applying the absolute value to each element, we can use a lambda.

Below shows a simple example of using 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

Using Lambda Expression with max() Function on List of Objects in Python

One use of a lambda expression with max() is if you want to find the maximum value in list of objects.

For example, let’s say we have a list of dictionaries and want to find the maximum 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 max() to get the maximum 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(max(data,key=lambda x: x["height"]))

#Output:
{'name': 'Jose', 'age': 11, 'height': 52}

If you have a list of tuples, you can use “key” and a lambda as well to get the maximum value of a given position in the tuples.

Below is an example of how to use a lambda expression with max() to get the maximum value of a list of tuples for the first element.

data = [(0,'a'),(3,'d'),(2,'r'),(1,'m')]

print(max(data, key=lambda x: x[0]))

#Output:
(3, 'd')

Using Lambda Expression with min() Function in Python

If you want to go the other way and use a lambda expression with the Python min() function, you can do the same as above.

From the first example, we can find the minimum 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 min() in Python.

example_list = [0, 3, 1, -3, -5, 4]

print(min(example_list, key=lambda x:abs(x)))

#Output:
0

Hopefully this article has been useful for you to learn how to use a lambda expression with max() in Python.

Categorized in:

Python,

Last Update: February 26, 2024