5
respostas

Como ele adicionou a palavra do texto, em aparições, para realizar a busca?

aparicoes = {}

for palavra in meu_texto.split(): ate_agora = aparicoes.get(palavra, 0) aparicoes[palavra] = ate_agora + 1

print(aparicoes)

5 respostas

Boa tarde, Luigge!

Então, pelo que pesquisei e os testes que fiz, a atribuição de cada palavra em "aparicoes" se da no mesmo momento em que ate_agora recebe a contagem de vezes que cada palavra aparece a partir o método dict.get(), ou seja, em: ate_agora = aparicoes.get(palavra, 0) , o ate_agora recebe quantas vezes cada palavra apareceu, atribuindo 0 se ela apareceu só 1 vez, enquanto o dicionário aparicoes recebe essa palavra. A atribuição dos valores, ou seja da contagem de quantas vezes cada palavra apareceu, acontece na linha abaixo em aparicoes[palavra] = ate_agora + 1. Como o get coloca o valor 0 para as palavras que apareceram somente uma vez (como determinamos), precisamos somar 1 em ate_agora, enquanto, isso a palavra desse loop que foi adicionada em aparicoes recebe essa soma. Código com comentários para deixar mais claro:

meu_texto = '''Depois de descrever seus dados estatisticamente, chegou a hora de analisar esses dados, criar hipóteses e validá-las.
Nesta seção vamos discutir sobre distribuições, testes de hipóteses, correlação e iniciar as discussões sobre regressão.
Temos muito conteúdo legal para estudar, neste oceano da estatística!'''    # Texto escolhido
meu_texto = meu_texto.lower()             # Coloca todas as palavras do texto em minúsculo

aparicoes = {}                            # Dicionário para colocar as palavras e seus valores

for palavra in meu_texto.split():         # Para cada palavra no split do meu texto faça:
  ate_agora = aparicoes.get(palavra, 0)   # Atribua a contagem de quantas vezes a palavra atual aparece em ate_agora. Se aparece 1 coloque 0
  aparicoes[palavra] = ate_agora + 1      # A palavra atual no dicionário aparicoes recebe a contagem + 1

aparicoes                                 # Exibe a lista

Início da lista:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter esclarecido um pouco e ajudado com sua dúvida :)

Nossa se ele coloca 0 quando encontara a palvara, quando ele nao encontrar ele retorna oq ? pra mim é tipo no "ate_agr" não tem nada no dicionario, e para não dar erro usamos o get, pois inicialmente o dicionario esta vazio, tanto é que se colocarmos qualquer palavra para buscar e essa não estiver mo texto ele retorna 0

Então, na realidade, nesse exemplo, não tem como ele não retornar nada porque estamos fazendo um for para cada palavra do meu_texto, mas, quando usamos o dict.get() com um dicionário solto e a chave que estamos procurando não existe ele retorna None, ou seja, nada. Aí nesse caso passamos como segundo parâmetro o 0 para termos o retorno de que essa chave não existe na nossa lista:

lista = {'idade': 15, 'altura': 25}
print(lista.get('idade'), lista.get('altura'), lista.get('nome'), lista.get('nome', 0))

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No caso do exemplo acima ele exibio o None por estar em um print(), mas quando você só pede para ele exibir sem usar o print() no colab do google, ele não mostra nada.

Passar o valor que deseja substituir o None também é importante para evitar erros de execução do código, porque muitas vezes usamos o retorno dado para fazer contas ou em qualquer outra parte do código que, ao receber um None, pode acabar dando erro.

aaa simmm, obrigadooo

Imaginaa! Qualquer coisa estamos aí hahaha Você poderia marcar o post como tópico resolvido, por favor? Acho que ajuda na organização do fórum kkkk