Oi Lucas, como vai?
Vou tentar esmiuçar a lógica por trás dessa iteração. Vamos lá?
Começando, temos a variável frase
que abriga uma string com várias palavras. A variável contagem_palavra
é um dicionário vazio que será utilizado mais a frente e palavras
é uma lista das palavras que estão na frase
. O método split()
separa a string em substrings usando espaços como delimitadores.
frase = "Python se tornou uma das linguagens de programação mais populares do mundo nos últimos anos."
contagem_palavra = {}
palavras = frase.split()
Partindo para a iteração dentro da lista de palavras que foi definida anteriormente: vamos definir cada item do dicionário ( contagem_palavra[palavra]
) utilizando o método get para verificar se cada palavra da lista palavras
já está no dicionário. Se a palavra não estiver ainda, ela será definida como chave e receberá o valor inicial 0.
O +1
é o que incrementa a contagem da palavra em 1, ou seja, adiciona mais 1 ao valor daquela chave do dicionário. Se a palavra se repetir duas vezes, no dicionário final teremos o número 2, e assim por diante.
for palavra in palavras:
contagem_palavra[palavra] = contagem_palavra.get(palavra, 0) + 1
Revisando a iteração na lista de palavras:
- Para cada palavra da lista
palavras
:- Verificamos se a palavra já está no dicionário
contagem_palavra
:- Se a palavra já existe:
- Utilizamos o método
get
para acessar a contagem atual da palavra. - Acrescentamos 1 à contagem atual da palavra.
- Se a palavra não existe:
- Criamos uma nova chave no dicionário com a palavra como chave e o valor 1.
- Isso significa que a cada vez que encontramos uma palavra, contamos quantas vezes ela aparece na frase.
Espero ter ajudado a compreender a lógica, Lucas!
Se tiver mais alguma dúvida a respeito dessa questão, estou por aqui.
Abraços.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!