![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Python ::: Dicas & Truques ::: Lista (List) |
Como filtrar os elementos de uma List do Python usando a função filter()Quantidade de visualizações: 3354 vezes |
|
A função filter() da linguagem Python é muito útil quando precisamos aplicar um filtro aos elementos de uma List (lista). Na verdade, esta função pode ser aplicada a qualquer conjunto como mais de um elemento, tais como sets, tuples, strings, etc. Para usar a função filter() nós só precisamos informar uma função de comparação (que testará cada elemento da lista e retornará True ou False informando se o elemento deve ou não ser filtrado) e a coleção de dados na qual o filtro será aplicado. O retorno será uma nova List contendo apenas os elementos que passaram no teste do filtro. Veja um trecho de código no qual filtramos uma List de notas de alunos e retornamos apenas as notas maiores ou iguais a 7,0: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# função para filtrar as notas maiores ou iguais a 7,0
def filtrar_notas(nota):
if (nota >= 7.0):
return True
else:
return False
# método principal
def main():
# lista com todas as notas dos alunos
notas = [5.4, 9.2, 8.0, 3.7, 10.0, 4.1]
# mostra a lista com todas as notas
print("Todas as notas:", notas)
# vamos filtrar as notas
maiores_iguais_7 = list(filter(filtrar_notas, notas))
# mostra a lista com as notas maiores ou iguais a 7
print("Maiores ou iguais a 7.0:", maiores_iguais_7)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Todas as notas: [5.4, 9.2, 8.0, 3.7, 10.0, 4.1] Maiores ou iguais a 7.0: [9.2, 8.0, 10.0] É possível, em vez de fornecer uma função Python para a função filter(), indicarmos uma expressão Lambda. Veja como ficaria: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# método principal
def main():
# lista com todas as notas dos alunos
notas = [5.4, 9.2, 8.0, 3.7, 10.0, 4.1]
# mostra a lista com todas as notas
print("Todas as notas:", notas)
# vamos filtrar as notas
maiores_iguais_7 = list(filter(lambda nota: nota >= 7.0, notas))
# mostra a lista com as notas maiores ou iguais a 7
print("Maiores ou iguais a 7.0:", maiores_iguais_7)
if __name__== "__main__":
main()
Execute este novo exemplo e você verá que o resultado é o mesmo. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






