7.2.4 딕셔너리로 간단한 프로그램 만들기
딕셔너리를 활용해 영단어장을 만들어 봅시다. 영단어장은 빈도수를 기준으로 빈도수가 높은 단어부터 낮은 단어순으로 정렬합니다. 단어장은 『알리바바와 40인의 도적』1을 기반으로 만듭니다. 파일은 자료실에서 내려받을 수 있습니다. 원하는 글을 직접 넣어도 됩니다.
제공하는 파일은 원활한 실습을 위해 원문을 재편집했습니다. 영단어장을 만들 때 split()을 사용하므로 공백을 기준으로 단어가 분리되도록 문장 기호 양옆에는 공백을 넣었습니다. 그리고 대소문자를 구분하지 않으려고(Alibaba와 alibaba를 동일한 단어로 취급하도록) 모든 대문자를 소문자로 변경했습니다.
빈도순으로 단어장 만들기
단어장 프로그램의 흐름을 구상해 봅시다. 원문을 공백 기준으로 분리하므로 모든 문장이 단어로 쪼개집니다. 이 단어를 키로, 단어의 빈도수를 값으로 저장하는 딕셔너리를 만듭니다. 그리고 딕셔너리를 빈도수, 즉 값을 기준으로 내림차순 정렬하면 가장 자주 등장하는 단어부터 순서대로 정렬합니다.
▲ 그림 7-3 단어장 프로그램의 흐름