定義した 2 つの関数を受け取り、n 個の単語とその頻度を返すプログラムを作成しています。問題は、私のプログラムが周波数のみを返すことです。単語と頻度を一緒に圧縮しようとしましたが、うまくいきませんでした。あなたが見ていることから、私はこれに間違ったアプローチをしていますか?
def computeWordFrequencies(filename): #my function
f = open(filename,'r')
j = f.read()
OriginalL1 = parse(j)
L1 = unique(parse(j))
L2 = [OriginalL1.count(freq) for freq in L1]
L = [L1, L2]
return L
def mostFrequentWords(word,frequency,n):
words = word
freqs = sorted(frequency,reverse=True)
return freqs[:n]
L = computeWordFrequencies('file.txt') #takes a file and returns words & their frequencies
words = zip(*sorted(zip(L[0],L[1])))
freqs = L[1]
print mostFrequentWords(words,freqs,100)