Count Word Frequency in Python with Counter
Which words appear most? Split the text, count with collections.Counter and get the top words in one call.
- Normalizing text and extracting words with re.findall
- Counting with collections.Counter
- Finding the most common words
"python"2"is"2"clear"1"practical"1Text → words → counts
Contar a frequência de palavras é uma tarefa muito comum de processamento de texto, usada em mecanismos de busca, análise de conteúdo e processamento de linguagem natural. Antes de contar, o texto precisa ser normalizado para que palavras iguais, como "Python" e "python", sejam contadas juntas.
Pontos-chave
- Lowercase the text first so
"Python"and"python"count as one word. re.findall(r"[a-z]+", text)picks out the words and drops punctuation.Counter(words)maps each word to how often it appears.counts.most_common(3)returns the top three.
Quando usar?
- Conhecer a sintaxe e os conceitos básicos do Python com exemplos curtos e fáceis de entender.
- Criar uma base sólida antes de passar para problemas mais complexos.
- Executar o código direto no navegador, sem instalar o Python no computador.
Código de exemplo
from collections import Counter
import re
text = "Python is clear. Python is practical."
words = re.findall(r"[a-z]+", text.lower())
print(Counter(words))
Resultado da execução
Counter({'python': 2, 'is': 2, 'clear': 1, 'practical': 1})
Explicação do código
A instrução text.lower() passa todo o texto para minúsculas, e a expressão regular [a-z]+ pega apenas sequências de letras, ignorando a pontuação. O Counter conta cada palavra em uma única passada e ordena da maior para a menor contagem, por isso python e is aparecem 2 vezes cada.
Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.
Exercícios práticos
Tente modificar o código seguindo as sugestões abaixo. Mudar o código e observar o resultado ajuda você a entender muito mais do que só ler.
- Mude os dados de entrada e tente prever o resultado antes de executar.
- Adicione uma verificação para dados vazios ou inválidos.
- Coloque a lógica em uma função separada e teste com vários conjuntos de dados.
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
- Contar Palavras Conte as palavras em uma frase. Fácil
- Frequência de Caracteres Conte quantas vezes cada caractere aparece. Fácil
- Tournament Standings Rank teams from match records. Médio