Importante

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!

1
resposta

juntando listas e produtos

produtos = ['maçã', 'banana', 'pera']
precos = [2.5, 1.2, 3.0]

def associacao(frutas, valores):
'''# maneira compacta
itens = list(zip(frutas, valores))'''
itens = []

for fruta, valor in zip(frutas, valores):
    print(fruta, valor)
    itens.append((fruta, valor))
    
return itens
   

(associacao(produtos, precos))

novamente preferi fazer de uma maneira mais ampla até ter mais experiência

1 resposta

Olá, Nathã! Como vai?

Curti bastante a forma como você apresentou a solução! Usar o for junto com o zip para percorrer as duas listas simultaneamente mostra que você entendeu bem a lógica de associação entre elementos.

Também achei interessante você ter comentado a alternativa com list(zip()), isso mostra que você já conhece a função mais compacta, mas optou conscientemente por uma abordagem mais explícita para fixar o conceito. Esse tipo de escolha é importante porque reforça o entendimento da lógica por trás das funções prontas do Python antes de adotá-las no dia a dia.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Legibilidade: quando o código já estiver mais natural pra você, vale testar a versão com zip() direto, deixando o código mais enxuto.
  • Testes com dados diferentes: experimente listas de tamanhos diferentes para ver como o zip se comporta nesses casos.
  • Documentação: adicionar um docstring explicando o propósito da função ajuda bastante na manutenção do código no futuro.

Ah, uma pergunta: você prefere escrever o código de forma mais detalhada enquanto ainda está aprendendo, ou já se sente confortável em usar logo as formas mais compactas do Python?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!