Oi galera, boa tarde! Tudo bom?
Eu gostaria de entender a lógica por detrás do 'for' neste exercício
resultado_subtracao = [b - a for a, b in zip(antes_do_treinamento,apos_o_treinamento)]
Grato desde já!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Oi galera, boa tarde! Tudo bom?
Eu gostaria de entender a lógica por detrás do 'for' neste exercício
resultado_subtracao = [b - a for a, b in zip(antes_do_treinamento,apos_o_treinamento)]
Grato desde já!
Oi João. Tudo bem comigo, e por aí?
Vamos lá:
resultado_subtracao = [b - a for a, b in zip(antes_do_treinamento, apos_o_treinamento)]
Esse código utiliza uma list comprehension para criar uma nova lista chamada resultado_subtracao. Vamos dividir isso em partes para entender melhor:
zip(antes_do_treinamento, apos_o_treinamento): A função zip combina as duas listas antes_do_treinamento e apos_o_treinamento em pares. Cada par contém um elemento de cada lista na mesma posição. Por exemplo:
antes_do_treinamento = [78, 65, 75, 80, 85, 88, 79, 81, 76, 84]
apos_o_treinamento = [85, 70, 75, 87, 90, 92, 84, 82, 76, 91]
# zip(antes_do_treinamento, apos_o_treinamento) resultará em:
# [(78, 85), (65, 70), (75, 75), (80, 87), (85, 90), (88, 92), (79, 84), (81, 82), (76, 76), (84, 91)]
for a, b in zip(antes_do_treinamento, apos_o_treinamento): Aqui, estamos iterando sobre cada par (a, b) gerado pelo zip. Em cada iteração, a será um valor da lista antes_do_treinamento e b será o valor correspondente da lista apos_o_treinamento.
b - a: Dentro da list comprehension, estamos subtraindo a de b para cada par (a, b). Isso nos dá a diferença entre a média de satisfação após o treinamento e antes do treinamento para cada atendente.
[b - a for a, b in zip(antes_do_treinamento, apos_o_treinamento)]: Finalmente, cria-se uma nova lista contendo todas essas diferenças.
O resultado é uma lista que mostra a mudança na satisfação de cada atendente após o treinamento comparado com antes do treinamento. No seu exemplo, o resultado foi:
resultado_subtracao = [7, 5, 0, 7, 5, 4, 5, 1, 0, 7]
Isso significa que a primeira pessoa atendente teve um aumento de 7 pontos na satisfação, a segunda teve um aumento de 5 pontos, a terceira não teve mudança, e assim por diante.
Espero ter ajudado!
Abraços.