Função Python max()

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

Introdução à função Python max()

A max()função retorna o argumento máximo de dois ou mais argumentos:

max(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. É semelhante à chave da sort()função.

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

max(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 retorna max()quando iterableestá vazio. Se iterableestiver vazio e o defaultargumento não estiver disponível, a max()função gera uma ValueErrorexceção.

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

Exemplos de funções Python max()

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

1) Usando a função Python max() para encontrar o argumento máximo de vários argumentos

O exemplo a seguir usa a max()função para obter o maior número:

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

Se você passar vários argumentos de string, a max()função retornará a string máxima com base na ordem alfabética:

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

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

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

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


result = max(
    Employee('John', 210_000),
    Employee('Alice', 220_000),
    Employee('Jane', 200_000),
    key=lambda p: p.salary
)

print(result)
Linguagem de código:  Python  ( python )

Saída:

Name:Alice, salary: 220,000Linguagem de código:  Python  ( python )

Como funciona.

Primeiro, defina a Employeeclasse com dois atributos namee salary:

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    def __str__(self):
        return f'Name:{self.name}, salary:{self.salary:,}'Linguagem de código:  Python  ( python )

Segundo, use a max()função para encontrar o funcionário com o salário mais alto:

result = max(
    Employee('John', 210_000),
    Employee('Alice', 220_000),
    Employee('Jane', 200_000),
    key=lambda p: p.salary
)Linguagem de código:  Python  ( python )

Além de passar os Employeeobjetos, também especificamos the salarycomo chave para comparações de objetos.

2) Usando a função Python max() para encontrar o item máximo de um iterável

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

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

Da mesma forma, este exemplo usa a max()função para encontrar a pessoa com o máximo namecom base na ordem alfabética:

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

Este exemplo mostra como usar a max()função para localizar o funcionário com o salário mais alto em uma lista de funcionários:

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

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


employees = [
    Employee('John', 210_000),
    Employee('Alice', 220_000),
    Employee('Jane', 200_000),
]

result = max(employees, key=lambda p: p.salary)

print(result)
Linguagem de código:  Python  ( python )

Saída:

Name:Alice, salary:220,000Linguagem de código:  Python  ( python )

Neste exemplo, passamos uma lista de Employeeobjetos e utilizamos a max()função para encontrar o funcionário que tem o maior salário.

Resumo

  • Use a max()função para encontrar o item máximo de um iterável ou o argumento máximo de argumentos.
  • 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 *