Представьте себе, что вы — владелец кошачьего приюта. У вас есть десятки котиков, и каждый из них уникален: кто-то пушистый, как облако, кто-то худой, как карандаш, а кто-то просто самый милый на свете. Как же выбрать самого-самого? В программировании для этого есть два верных друга — функции `max` и `min`. Давайте разберёмся, как они работают и как их можно использовать.
Функции max и min — это инструменты, которые помогают находить максимальное и минимальное значение в коллекциях данных. Но их суперсила в том, что они могут принимать аргумент key, позволяя вам задавать свои правила для поиска. Это как если бы вы сказали: "Найди мне самого пушистого кота, а не самого большого!" или "Покажи мне самого ленивого, а не самого тяжёлого!"
Давайте разберёмся на примере.
Функции max и min работают с любыми итерируемыми объектами: списками, кортежами, строками и даже словарями. Если вы передаёте аргумент key, то вместо сравнения самих элементов Python будет использовать результат вызова функции, переданной в key.
Мы передаём список словарей (каждый словарь описывает кота).
В key передаётся lambda, которая говорит: "Сравнивай котиков по их пушистости или весу".
max и min возвращают весь словарь, соответствующий максимальному или минимальному значению.
А теперь немного магии!
А теперь давайте посмотрим, как max и min могут работать с объектами и строками.
Вы можете использовать max и min для работы с пользовательскими классами. Например, если у вас есть класс, описывающий котиков, вы можете найти самого ловкого или самого ленивого.
Функции max и min также работают со строками. Вот несколько интересных примеров:
1️⃣ Найдём слово с максимальной длиной:
2️⃣ Найдём слово, которое идёт последним в алфавитном порядке:
3️⃣ Найдём слово с минимальной длиной:
4️⃣ Найдём слово, которое идёт первым в алфавитном порядке:
Вы можете комбинировать max и min с любыми функциями, которые возвращают числовое или строковое значение. Это открывает огромные возможности для анализа данных.
Теперь вы знаете, как использовать `max` и `min` для поиска самого пушистого, самого лёгкого или самого ловкого кота. Эти функции — настоящие мастера сравнения, которые помогут вам в самых разных задачах.
🐾 О чём ещё вы хотите почитать? Что бы вы хотели узнать? Напишите, и я с радостью подготовлю для вас новый пост!