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 dasort()
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 retornamax()
quandoiterable
está vazio. Seiterable
estiver vazio e odefault
argumento não estiver disponível, amax()
função gera umaValueError
exceçã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) # 3
Linguagem 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) # John
Linguagem 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,000
Linguagem de código: Python ( python )
Como funciona.
Primeiro, defina a Employee
classe com dois atributos name
e 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 Employee
objetos, também especificamos the salary
como 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) # 5
Linguagem de código: Python ( python )
Da mesma forma, este exemplo usa a max()
função para encontrar a pessoa com o máximo name
com base na ordem alfabética:
names = ['John', 'Alice', 'Jane']
name = max(names)
print(name) # John
Linguagem 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,000
Linguagem de código: Python ( python )
Neste exemplo, passamos uma lista de Employee
objetos 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
key
parâmetro para especificar a chave para comparar os objetos.