Olá, Ybraz, tudo bem?
Na verdade, na aula o instrutor tenta explicar é que você não pode aplicar uma função lambda diretamente a uma lista inteira de uma vez, mas sim a cada elemento individualmente.
Na sua função, lambda media
está recebendo a lista notas
e o valor qualitativo
como parâmetros. Dentro da função, você está somando todos os elementos da lista notas
e adicionando o produto do comprimento da lista pelo valor qualitativo, depois dividindo pelo comprimento da lista para obter a média. Isso funciona porque sum(x)
e len(x)
são operações válidas para listas.
No entanto, se você tentar aplicar uma função lambda diretamente a uma lista para modificar cada elemento, como adicionar um valor qualitativo a cada nota, você precisará usar a função map
.:
notas = [6.0, 7.0, 9.0, 5.5, 8.0]
qualitativo = 0.5
# Usando map para aplicar a função lambda a cada elemento da lista
notas_atualizadas = list(map(lambda x: x + qualitativo, notas))
print(notas_atualizadas)
Nesse caso, map
aplica a função lambda a cada elemento da lista notas
, adicionando o valor de qualitativo
a cada um deles. O resultado é uma nova lista com os valores atualizados.
Espero ter esclarecido.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!