Função Python min()

Resumo : neste tutorial, você aprenderá como usar a min()função Python para retornar o menor item de um iterável ou o menor argumento de dois ou mais argumentos.

Introdução à função min() do Python

A min()função retorna os menores itens de dois ou mais argumentos:

min(arg1,arg2,*args[,key])Linguagem de código:  Python  ( python )

Nesta sintaxe:

  • arg1, arg2, .. são os argumentos de entrada.
  • keyé um parâmetro opcional apenas de palavra-chave que especifica uma chave para comparar os argumentos.

A min()função também aceita um iterável e retorna o menor item do iterável:

min(iterable, *[, key, default])Linguagem de código:  Python  ( python )

Nesta sintaxe:

  • iterableé a entrada iterável.
  • keyé um argumento opcional apenas de palavra-chave que especifica a chave para comparar os itens do iterável.
  • defaulté um argumento opcional apenas de palavra-chave que especifica um valor que a min()função retorna se o iterável estiver vazio. Se iterableestiver vazio e o defaultargumento for omitido, a min()função gera uma ValueErrorexceção.

Se vários itens forem mínimos, a min()função retornará o primeiro que encontrar.

Exemplos de funções Python min()

Vejamos alguns exemplos de uso da min()função Python.

1) Usando a função Python min() para encontrar o argumento mínimo entre vários argumentos

O exemplo a seguir usa a min()função para obter os menores números:

result = min(1, 2, 3)
print(result) # 1Linguagem de código:  Python  ( python )

Se você passar múltiplas strings, a min()função retornará a string mínima com base em ordem alfabética:

result = min('John', 'Alice', 'Jane')
print(result) # AliceLinguagem de código:  Python  ( python )

O exemplo a seguir mostra como usar a min()função com objetos definidos pelo usuário:

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)Linguagem de código:  Python  ( python )

Saída:

Name:Jane, age:20Linguagem de código:  Python  ( python )

Como funciona.

Primeiro, defina a Personclasse com dois atributos namee 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}'Linguagem de código:  Python  ( python )

Segundo, use a min()função para encontrar a pessoa com menor idade:

result = min(
    Person('John', 21),
    Person('Alice', 22),
    Person('Jane', 20),
    key=lambda p: p.age
)Linguagem de código:  Python  ( python )

Além de passar os Personobjetos, também especificamos the agecomo chave para comparar esses Personobjetos.

2) Usando a função Python min() para encontrar o item mínimo de um iterável

O exemplo a seguir usa a min()função para encontrar o menor número de uma lista:

scores = [1, 5, 3, 2]
min_score = min(scores)
print(min_score)  # 1Linguagem de código:  Python  ( python )

Da mesma forma, este exemplo usa a min()função para encontrar o mínimo namecom base na ordem alfabética:

names = ['John', 'Alice', 'Jane']
name = min(names)
print(name)  # AliceLinguagem de código:  Python  ( python )

Este exemplo ilustra como usar a min()função para encontrar a pessoa mais jovem:

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)Linguagem de código:  Python  ( python )

Saída:

Name:Jane, age:20Linguagem de código:  Python  ( python )

Neste exemplo, passamos uma lista de Personobjetos e usamos a min()função para encontrar a pessoa mais nova que tem a menor idade.

Resumo

  • Use a min()função para encontrar o item mínimo de argumentos ou itens em um iterável.
  • Use o keyparâmetro para especificar a chave para comparar os objetos.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *