Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi a resposta do exercício

def km_media(dataset, ano_atual):
    result = {}
    for item in dataset.items():
        media = item[1]['km'] / (ano_atual - item[1]['ano'])
        item[1].update({ 'km_media': media })
        result.update({ item[0]: item[1] })
    return result

No código acima, não entendi o que o "result.update({ item[0]: item[1] })" atua dentro do código. Poderiam me explicar por favor?

1 resposta
solução!

Fala Ivan, beleza cara?

Seguinte, pensa que o código é executado linha por linha, certo? Então na linha : 'media = item[1]['km'] / (ano_atual - item[1]['ano'])' o código faz a conta. Na linha de baixo, ele atualiza o segundo dicionário, o mais interno, que tem a característica do carro.

A última linha atualiza o dicionário "principal", entregando o resultado. Se você não faz essa linha, não tem atualização do dicionário e a função vai entender que o novo dicionário é o 'result' pedido no começo do código, que está vazio. Ou seja, sem essa linha, ele retorna vazio.

Se tiver apenas o item [0], ele vai retornar apenas com os nomes dos carros, e se tiver apenas o item [1] ele volta apenas com as características. Ou seja, o result.update serve para atualizar a lista da maneira correta com os dados novos da conta sem perder os dados anteriores dela.

Espero que tenha ajudado você!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software