2011-05-07 122 views
1

文件I有一個包含等詞語的列表的文件:Python的排序由頻率

WORD1 34

WORD2 12

WORD3 6

word4 498

的word5 50

我想按數值排序文件。我的代碼:

sortedfreqlist = sorted(freqlist, key=operator.itemgetter(1), reverse=True) 

完全不是那麼回事,因爲它的話即12日之前6等

任何想法我怎麼能做到這一點來排序的數字?

回答

3

排序不起作用,因爲您的值不是數值類型,因此應用了詞典排序。請務必將您的分揀鍵轉換爲數字,例如:

sortedfreqlist = sorted(freqlist, key=lambda item: int(item[1]), reverse=True) 
+0

如果第二列中的所有項都可以解釋爲整數,則這是正確的解決方案。我誤解了這個問題。 – Paul 2011-05-07 20:40:03