文件I有一個包含等詞語的列表的文件:Python的排序由頻率
WORD1 34
WORD2 12
WORD3 6
word4 498
的word5 50
我想按數值排序文件。我的代碼:
sortedfreqlist = sorted(freqlist, key=operator.itemgetter(1), reverse=True)
完全不是那麼回事,因爲它的話即12日之前6等
任何想法我怎麼能做到這一點來排序的數字?
文件I有一個包含等詞語的列表的文件:Python的排序由頻率
WORD1 34
WORD2 12
WORD3 6
word4 498
的word5 50
我想按數值排序文件。我的代碼:
sortedfreqlist = sorted(freqlist, key=operator.itemgetter(1), reverse=True)
完全不是那麼回事,因爲它的話即12日之前6等
任何想法我怎麼能做到這一點來排序的數字?
排序不起作用,因爲您的值不是數值類型,因此應用了詞典排序。請務必將您的分揀鍵轉換爲數字,例如:
sortedfreqlist = sorted(freqlist, key=lambda item: int(item[1]), reverse=True)
如果第二列中的所有項都可以解釋爲整數,則這是正確的解決方案。我誤解了這個問題。 – Paul 2011-05-07 20:40:03