Функция min() в Python — поиск наименьшего элемента

Функция min() в Python используется для возврата наименьшего элемента итерируемого объекта или наименьшего аргумента из двух или более аргументов.

Содержание

Знакомство с функцией Python min()

Функция min() возвращает наименьшие элементы из двух или более аргументов:

min(arg1,arg2,*args[,key])

В этом синтаксисе:

  • arg1, arg2, .. — входные аргументы.
  • key — необязательный параметр, состоящий только из ключевого слова, который указывает ключ для сравнения аргументов.

Функция min() также принимает iterable и возвращает наименьший элемент итерируемого объекта:

min(iterable, *[, key, default])

В этом синтаксисе:

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

Если несколько элементов являются минимальными, функция min() возвращает первый встреченный элемент.

Примеры функции Python min()

Давайте рассмотрим несколько примеров использования функции Python min().

1) Поиск минимального аргумента среди нескольких аргументов

В следующем примере функция min() используется для получения наименьших чисел:

result = min(1, 2, 3)
print(result) # 1

Если вы передаете несколько строк, функция min() возвращает минимальную строку в алфавитном порядке:

result = min('John', 'Alice', 'Jane')
print(result) # Alice

В следующем примере показано, как использовать функцию min() с пользовательскими объектами:

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

    def __str__(self):
        return f'Name:{self.name}, age:{self.age}'


result = min(
    Person('John', 21),
    Person('Alice', 22),
    Person('Jane', 20),
    key=lambda p: p.age
)

print(result)

Выход:

Name:Jane, age:20

Как это работает.

  • Сначала определите класс Person с двумя атрибутами: name и age:
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f'Name:{self.name}, age:{self.age}'
  • Во-вторых, используйте функцию min(), чтобы найти человека с наименьшим возрастом:
result = min(
    Person('John', 21),
    Person('Alice', 22),
    Person('Jane', 20),
    key=lambda p: p.age
)

Помимо передачи объектов Person, мы также указываем age как ключ для сравнения этих объектов Person.

2) Поиск минимального элемента итерируемого объекта

В следующем примере функция min() используется для поиска наименьшего числа в списке:

scores = [1, 5, 3, 2]
min_score = min(scores)
print(min_score)  # 1

Аналогично, в этом примере используется функция min() для поиска минимального имени на основе алфавитного порядка:

names = ['John', 'Alice', 'Jane']
name = min(names)
print(name)  # Alice

В этом примере показано, как использовать функцию min() для поиска самого молодого человека:

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

    def __str__(self):
        return self.name


people =(
    Person('John', 21),
    Person('Alice', 22),
    Person('Jane', 20)
)

youngest_person = min(people, key=lambda p: p.age)
print(youngest_person)

Выход:

Name:Jane, age:20

В этом примере мы передаем список объектов Person и используем функцию min(), чтобы найти самого молодого человека с наименьшим возрастом.

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *