Функции
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
: (необязательный) Значение, возвращаемое функциями, если последовательность пуста.Пример 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
позволяет указать функцию для определения значения, по которому сравниваются элементы.
Пример 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()
с пользовательскими объектами необходимо определить функцию сравнения с использованием ключевого аргумента 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
, а также применение функций с пользовательскими объектами.
Содержание: