Python的排序由频率
问题描述:
文件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