Boa tarde!
Não consegui entender o raciocínio e não consigo montar esse entendimento como solução de um novo caso.
Boa tarde!
Não consegui entender o raciocínio e não consigo montar esse entendimento como solução de um novo caso.
Ei! Tudo bem, Lidiane?
Agradeço por aguardar o nosso retorno.
Entendo que pode ser confuso e agradeço por trazer ao fórum sua dúvida, pois pode ser de muitos que estão estudando.
A lógica aqui é percorrer a lista de livros e, para cada livro, criar um novo dicionário atualizado. Por isso existe o livro_temp = {}, ele vai armazenar a versão modificada daquele livro.
Depois, o .items() entra pra permitir que você percorra chave e valor ao mesmo tempo (k e v). Então, a cada item do dicionário:
No final desse processo, você tem um “livro novo” com a categoria traduzida, e adiciona ele na lista livros_atualizados.
O padrão aqui que você pode reaproveitar é:
iterar → verificar uma condição → transformar só o que precisa → montar um novo resultado sem alterar o original.
Comentei o código a cada linha para ficar mais fluido:
# Dicionário que faz a tradução das abreviações para o nome completo
categorias = {
"FIC": "Ficção",
"BIO": "Biografia",
"HIS": "História",
"SCI": "Ciência",
"PHI": "Filosofia"
}
# Lista onde vamos guardar os livros já atualizados
livros_atualizados = []
# Percorre cada livro da lista original
for livro in lista_livros:
# Cria um novo dicionário vazio (para não alterar o original)
livro_temp = {}
# Percorre cada chave (k) e valor (v) do dicionário livro
for k, v in livro.items():
# Se a chave for "categoria", precisamos substituir o valor
if k == "categoria":
# Usa o dicionário categorias para buscar o nome completo
livro_temp[k] = categorias[v]
else:
# Para as outras chaves, mantém o valor original
livro_temp[k] = v
# Adiciona o novo livro (já atualizado) na lista final
livros_atualizados.append(livro_temp)
Com o tempo, essa lógica de "filtro e substituição" se torna automática na sua programação.
Continue se dedicando aos estudos e qualquer dúvida, compartilhe conosco.
Bons estudos e até mais!