2011-05-07 119 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