Функции
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
, а также применение функций с пользовательскими объектами.