Python max()
built-in function simplifies the task of finding the largest value. In this post, we will cover the basic usage of the max()
function, explore various applications, and discuss points to watch out for.
Table of Contents
What is Python max() Function?
The max()
function returns the largest value from iterable data structures like lists and tuples. This allows you to easily determine the largest value among multiple values. Here’s a basic example:
max(1, 3, 2)
In the code above, the function returns 3
as it is the largest value among 1
, 3
, and 2
.
Basic Usage of max() Function
Using max() with Lists or Tuples
You can use max()
with data structures like lists, and it will return the largest value within the list.
numbers = [3, 4, 1, 9, 6]
print(max(numbers))
In this example, the largest value in the numbers
list is 9
, which is returned.
Passing Multiple Arguments
The max()
function can also take multiple arguments directly.
print(max(3, 5, 7))
Even when passing multiple arguments, the function returns the largest value, which is 7
in this case.
max() with Strings
In Python, the max()
function works not only with numbers but also with strings. In this case, the largest value is determined by the Unicode value of each character. Here’s how you can find the largest character in a string:
print(max("hello"))
In this example, the character 'o'
has the largest Unicode value in the string 'hello'
.

Custom Sorting with the key Parameter
The max()
function does more than just compare numbers or strings. By using the key
parameter, you can apply a custom sorting criterion to find the largest value in more complex data structures.
Example 1: Comparing Specific Keys in a List of Dictionaries
When you have a list of dictionaries, you can use the key
parameter to specify which dictionary key to compare.
students = [
{"name": "John", "score": 75},
{"name": "Emily", "score": 85},
{"name": "Anna", "score": 90}
]
top_student = max(students, key=lambda student: student["score"])
print(top_student)
Here, the code finds the student with the highest score.

Example 2: Comparing String Lengths
You can also use max()
to find the longest string by comparing string lengths.
words = ["apple", "banana", "cherry", "blueberry"]
longest_word = max(words, key=len)
print(longest_word)
Using key=len
, the function finds the longest word in the list.

Hidden Feature of max(): The default Parameter
Starting from Python 3.4, the max()
function supports the default
parameter. This is useful when the list is empty and you want to avoid an error. Instead of causing an exception, a default value can be returned.
empty_list = []
max_value = max(empty_list, default=0)
print(max_value)
Even when an empty list is provided, the function returns the default value of 0
.

Cautions When Using max()
Only Use Comparable Values
The max()
function can only compare values of the same type. If you attempt to compare numbers and strings together, an error will occur.
print(max(3, "apple"))
You’ll encounter a TypeError
, which indicates that you cannot compare a string with an integer.

Set the Correct Criterion When Using key
When using the key
parameter, make sure to set an appropriate criterion. If you don’t define a clear criterion when working with complex data structures like lists of dictionaries, the results may not be as expected.
No Need to Always Use the default Parameter
In most cases, you don’t need to use the default
parameter unless you expect empty sequences. By default, the max()
function raises an error when it encounters an empty list or tuple.
Summary
The max()
function in Python is a powerful tool for easily finding the largest value. Whether working with numbers, strings, or more complex data structures, the key
parameter allows you to apply custom sorting criteria. Additionally, the default
parameter prevents errors when dealing with empty lists.
By using the max()
function effectively, you can reduce repetitive tasks and write concise, efficient code. Try applying max()
in various scenarios to optimize your code!