초보자를 위한 Python 연습
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 is clear. Python is practical."
"python"2"is"2"clear"1"practical"1Text → words → counts
단어 빈도 세기는 검색 엔진, 콘텐츠 분석, 자연어 처리에서 쓰는 아주 흔한 텍스트 처리 작업입니다. 세기 전에 텍스트를 정규화해서 "Python"과 "python"처럼 같은 단어가 함께 세어지도록 해야 합니다.
핵심 포인트
- 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.
언제 사용하나요?
- 짧고 이해하기 쉬운 예제로 Python 문법과 기본 개념을 익힙니다.
- 더 복잡한 문제로 넘어가기 전에 탄탄한 기초를 다집니다.
- 컴퓨터에 Python을 설치하지 않고 브라우저에서 바로 코드를 실행합니다.
예제 코드
main.py
from collections import Counter
import re
text = "Python is clear. Python is practical."
words = re.findall(r"[a-z]+", text.lower())
print(Counter(words))
실행 결과
Counter({'python': 2, 'is': 2, 'clear': 1, 'practical': 1})
코드 설명
text.lower()는 텍스트 전체를 소문자로 바꾸고, 정규 표현식 [a-z]+는 글자로 이루어진 부분만 남기고 문장 부호는 무시합니다. Counter는 한 번 훑어보는 동안 각 단어를 세고 빈도가 높은 순서로 정렬하므로, python과 is가 각각 2번 나타납니다.
값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.
연습 문제
아래 제안을 따라 코드를 바꿔 보세요. 코드를 직접 고치고 결과를 확인하면 읽기만 할 때보다 레슨을 훨씬 잘 이해할 수 있습니다.
- 입력 데이터를 바꾸고 실행하기 전에 결과를 예상해 보세요.
- 비어 있거나 잘못된 데이터를 확인하는 코드를 추가해 보세요.
- 처리 부분을 별도의 함수로 분리하고 여러 데이터로 테스트해 보세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
- 단어 개수 세기 문장에서 단어의 개수를 세세요. 쉬움
- 문자 빈도수 각 문자가 몇 번 나타나는지 세어보세요. 쉬움
- Tournament Standings Rank teams from match records. 보통