Bird
Raised Fist0
Pythonprogramming~5 mins

max() and min() in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

The max() and min() functions help you find the biggest or smallest value in a group of items quickly.

Finding the highest score in a game.
Getting the lowest temperature from a list of daily temperatures.
Choosing the largest or smallest number from user inputs.
Comparing prices to find the cheapest or most expensive item.
Syntax
Python
max(iterable, *[, key, default])
min(iterable, *[, key, default])

# Or with multiple arguments:
max(arg1, arg2, *args, *[, key])
min(arg1, arg2, *args, *[, key])

You can give max() or min() either a list (or any iterable) or multiple separate values.

The optional key lets you decide how to compare items, like by length or a property.

Examples
Finds the biggest number in the list.
Python
max([3, 7, 2, 5])
Finds the smallest number among the separate values.
Python
min(10, 4, 8, 1)
Finds the longest word by length.
Python
max(['apple', 'banana', 'pear'], key=len)
Returns 0 if the list is empty, avoiding an error.
Python
min([], default=0)
Sample Program

This program finds the biggest and smallest numbers from a list, then finds the longest and shortest words from another list.

Python
numbers = [10, 20, 5, 40, 25]
print("Max number:", max(numbers))
print("Min number:", min(numbers))

words = ['cat', 'elephant', 'dog']
print("Longest word:", max(words, key=len))
print("Shortest word:", min(words, key=len))
OutputSuccess
Important Notes

If you use max() or min() on an empty list without a default, Python will give an error.

The key parameter is very useful when working with complex data like lists of strings or objects.

Summary

max() finds the biggest item; min() finds the smallest.

You can use them with lists or separate values.

Use key to customize how items are compared.

Practice

(1/5)
1. What does the max() function do in Python?
easy
A. Finds the largest item in a list or among values
B. Finds the smallest item in a list or among values
C. Sorts the list in ascending order
D. Removes duplicates from a list

Solution

  1. Step 1: Understand the purpose of max()

    The max() function is used to find the biggest or largest item from a list or multiple values.
  2. Step 2: Compare with other options

    Options A, C, and D describe different functions or actions, not what max() does.
  3. Final Answer:

    Finds the largest item in a list or among values -> Option A
  4. Quick Check:

    max() = largest item [OK]
Hint: max() returns the biggest value from inputs [OK]
Common Mistakes:
  • Confusing max() with min()
  • Thinking max() sorts the list
  • Assuming max() removes duplicates
2. Which of the following is the correct way to find the minimum value in a list named nums?
easy
A. minimum(nums)
B. min(nums)
C. nums.min()
D. min = nums

Solution

  1. Step 1: Recall the syntax of min()

    The correct syntax to find the smallest value in a list is min(list_name). So, min(nums) is correct.
  2. Step 2: Check other options for errors

    minimum(nums) uses a non-existent function minimum(). nums.min() tries to call min() as a method on the list, which is invalid. min = nums assigns min to the list, which is incorrect usage.
  3. Final Answer:

    min(nums) -> Option B
  4. Quick Check:

    min(list) = smallest value [OK]
Hint: Use min(list_name) to get smallest value [OK]
Common Mistakes:
  • Using min as a method like nums.min()
  • Trying to assign min to a variable incorrectly
  • Using a wrong function name like minimum()
3. What is the output of this code?
numbers = [3, 7, 2, 9, 5]
print(max(numbers))
print(min(numbers))
medium
A. 9 and 2
B. 3 and 5
C. 7 and 2
D. Error

Solution

  1. Step 1: Identify the list values

    The list numbers contains [3, 7, 2, 9, 5].
  2. Step 2: Find max and min values

    The largest value is 9 and the smallest value is 2.
  3. Final Answer:

    9 and 2 -> Option A
  4. Quick Check:

    max = 9, min = 2 [OK]
Hint: max() and min() find biggest and smallest values [OK]
Common Mistakes:
  • Mixing up max and min results
  • Assuming print shows the whole list
  • Syntax errors from missing parentheses
4. The following code gives an error. What is the problem?
values = [10, 20, 30]
print(max(values, key=abs))
medium
A. The key function abs() is unnecessary here
B. max() cannot be used with lists
C. The code runs without error and prints 30
D. abs() is not defined

Solution

  1. Step 1: Understand max() with key parameter

    The key parameter lets max() compare items by a function result. Here, abs returns absolute values, which are the same as the original values since all are positive.
  2. Step 2: Check if code runs correctly

    Since abs is a built-in function and the list is valid, the code runs without error and returns the largest value, 30.
  3. Final Answer:

    The code runs without error and prints 30 -> Option C
  4. Quick Check:

    max(values, key=abs) = 30 [OK]
Hint: max() with key=abs works fine; abs() is built-in [OK]
Common Mistakes:
  • Thinking abs() is undefined
  • Believing max() can't use key parameter
  • Assuming code causes error
5. Given the list words = ['apple', 'banana', 'grape', 'kiwi'], which code finds the word with the shortest length?
hard
A. max(words)
B. max(words, key=len)
C. min(words)
D. min(words, key=len)

Solution

  1. Step 1: Understand the key parameter with len()

    Using key=len tells min() to compare words by their length, not alphabetically.
  2. Step 2: Identify shortest word

    Among the words, 'kiwi' has the shortest length (4 letters). So min(words, key=len) returns 'kiwi'.
  3. Final Answer:

    min(words, key=len) -> Option D
  4. Quick Check:

    min by length = 'kiwi' [OK]
Hint: Use min(list, key=len) to find shortest string [OK]
Common Mistakes:
  • Using max() instead of min() for shortest
  • Not using key=len and getting alphabetical result
  • Assuming min(words) finds shortest word