Функции min() и max() в Python

Использование min() и max() в Python: синтаксис и примеры

Функции min() и max() позволяют находить минимальный и максимальный элементы в последовательности или между двумя и более аргументами.

Эти функции могут быть использованы с различными типами данных, такими как числа, строки и пользовательские объекты.

Синтаксис

Синтаксис функций min() и max() следующий:

min(iterable, *[, key, default])
min(arg1, arg2, *args[, key])
max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])
  • iterable: Последовательность (например, список, кортеж или строка), элементы которой нужно сравнить.
  • arg1, arg2, *args: Два или более аргументов для сравнения.
  • key: (необязательный) Функция, которая используется для определения значения, по которому осуществляется сравнение.
  • default: (необязательный) Значение, возвращаемое функциями, если последовательность пуста.

Примеры использования функций min() и max()

Пример 1: Нахождение минимального и максимального числа в списке

numbers = [5, 3, 9, 1, 7]
minimum = min(numbers)
maximum = max(numbers)
print("Minimum:", minimum)
print("Maximum:", maximum)

#Minimum: 1
#Maximum: 9

Пример 2: Нахождение минимальной и максимальной строки в списке

words = ["apple", "banana", "cherry"]
min_word = min(words)
max_word = max(words)
print("Min word:", min_word)
print("Max word:", max_word)

#Min word: apple
#Max word: cherry

Использование ключевого аргумента ‘key’

Ключевой аргумент key позволяет указать функцию для определения значения, по которому сравниваются элементы.

Пример 3: Нахождение строки с минимальной и максимальной длиной

words = ["apple", "banana", "cherry"]
shortest_word = min(words, key=len)
longest_word = max(words, key=len)
print("Shortest word:", shortest_word)
print("Longest word:", longest_word)

#Shortest word: apple
#Longest word: banana

Пример 4: Нахождение минимального и максимального значения с использованием лямбда-функции

data = [{"value": 5}, {"value": 3}, {"value": 9}, {"value": 1}, {"value": 7}]
min_item = min(data, key=lambda x: x["value"])
max_item = max(data, key=lambda x: x["value"])
print("Min item:", min_item)
print("Max item:", max_item)

#Min item: {'value': 1}
#Max item: {'value': 9}

min() и max() с пользовательскими объектами

Для использования функций min() и max() с пользовательскими объектами необходимо определить функцию сравнения с использованием ключевого аргумента key.

Пример 5: Нахождение минимального и максимального объекта в списке

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"{self.name} ({self.age})"

people = [
    Person("Alice", 30),
    Person("Bob", 25),
    Person("Charlie", 35),
]

youngest = min(people, key=lambda x: x.age)
oldest = max(people, key=lambda x: x.age)
print("Youngest:", youngest)
print("Oldest:", oldest)

#Youngest: Bob (25)
#Oldest: Charlie (35)

Заключение

Мы рассмотрели функции min() и max(), которые позволяют находить минимальные и максимальные элементы в последовательностях и между аргументами. Мы изучили основной синтаксис этих функций и привели различные примеры их использования, такие как работа с числами, строками, использование ключевого аргумента key, а также применение функций с пользовательскими объектами.

Содержание: