1
resposta

Dúvida exercício 5

Boa noite.

Gostaria de confirmar se eu entendi corretamente o trecho do código abaixo:

contagem_palavras[palavra] = contagem_palavras.get(palavra, 0) + 1

sendo palavras:

palavras = {'Python', 'se', 'tornou', 'uma', 'das', 'linguagens', 'de', 'programação', 'mais', 'populares', 'do', 'mundo'}

obs.: não escrevi a frase completa acima

Quando entra no for e vai buscar a "palavra in palavras", temos que lembrar que contagem_palavras está vazio, ou seja, {}, portanto, quando contagem_palavras.get(palavra,0) executa não encontrará a referida palavra em palavras e atribui 0 e, em seguida, +1.

Antes da primeira iteração temos, contagem_palavras = {}

Na primeira iteração temos portanto, contagem_palavras = {'Python': 1}

Na segunda iteração, quando verifica "palavra in palavras" é a vez da verificação da palavra 'se', mas ela não está em contagem_palavras, pois lá temos apenas {'Python': 1}. Como não encontramos 'se', atribui 0 e, em seguida, soma 1. Resultou, portanto, a segunda iteração em contagem_palavras ={'Python': 1, 'se': 1}

e assim continuará até a última palavra de palavras.

Entendi direito?

Quando não encontrar a palavra, vai somar 1, pois a palavra é nova e vai contar 1 vez. Na próxima iteração, se a palavra se repetir, vai somar 1.

1 resposta

Oii Elaine, tudo bem contigo? Espero que sim!

Você entendeu perfeitamente! O trecho de código que você está analisando é uma maneira comum de contar a frequência de palavras em Python usando um dicionário. Parabéns pelo excelente desempenho, continue se dedicando!

Caso surjam dúvidas, fico à disposição.

Abraços e bons estudos!