텍스트 문서의 가장 빈번한 단어 10 개를 인쇄하는 작은 파이썬 스크립트가 있으며 (각 단어는 2 자 이상입니다) 인쇄하려면 스크립트를 계속해야합니다. 문서에서 가장 드문 단어 10 개. 나는 상대적으로 작동하는 스크립트를 가지고 있습니다. 단, 단어가 될 때 가장 빈번하게 발생하는 10 개의 단어 (숫자와 정수)가 인쇄됩니다. 단어 만 반복하고 숫자를 제외하려면 어떻게해야합니까? 여기에 내 전체 스크립트입니다파이썬을 사용하여 텍스트 문서의 가장 드문 단어 10 개를 인쇄하십시오.
# Most Frequent Words:
from string import punctuation
from collections import defaultdict
number = 10
words = {}
with open("charactermask.txt") as txt_file:
words = [x.strip(punctuation).lower() for x in txt_file.read().split()]
counter = defaultdict(int)
for word in words:
if len(word) >= 2:
counter[word] += 1
top_words = sorted(counter.iteritems(),
key=lambda(word, count): (-count, word))[:number]
for word, frequency in top_words:
print "%s: %d" % (word, frequency)
# Least Frequent Words:
least_words = sorted(counter.iteritems(),
key=lambda (word, count): (count, word))[:number]
for word, frequency in least_words:
print "%s: %d" % (word, frequency)
편집 : 문서합니다 (# Least Frequent Words
주석 아래 부분)의 끝은 고정이 필요한 부분이다.
잘 작동합니다. 철저한 답변 주셔서 감사합니다. –