如何在文本文件中查找单词?

时间:2013-11-19 00:38:50

标签: python file text word-frequency alphabetical-sort

我正在编写一个Python程序,我需要计算一个文本文件中每个单词的数量。

def count_words(word,d):
    for l in word:
        if l in d:
            d[l] += 1
        else:
            d[l] = 1
        return d

def count_letters():
    d = dict()
    word_file = open('w.txt')
    for line in word_file:
        word = line.strip();
        d = count_words(word,d)
    return d

1 个答案:

答案 0 :(得分:2)

您可以轻松地在一个条件下使用反向排序,并通过否定键函数中的int将其中一个条件转发为int

替换

freq_list.sort()

freq_list.sort(key=lambda x:(-x[1], x[0]))

在更一般的情况下,由于Python的排序是 stable ,您可以按第二个键然后第一个键排序

freq_list.sort(key=lambda x:x[0])
freq_list.sort(key=lambda x:x[1], reverse=True)

缺点是你需要做两种,所以它要慢一些