0

次のプログラムがあり、たとえば、テキスト ファイルで文字列 'light pink' を検索したい! 使用word==' '.join(['light','pink'])していますが、機能しません。

from operator import itemgetter

def mmetric1(file):
    words_gen = (word.lower() for line in open("test.txt")
                                             for word in line.split())
    words = {}

    for word in words_gen:
        if (word=='aqua')or(word=='azure')or(word=='black')or(word=='light pink'):
            words[word] = words.get(word, 0) + 1

    top_words = sorted(words.items(), key=itemgetter(1))

    for word, frequency in top_words:
       print ("%s : %d" % (word, frequency))
4

3 に答える 3

1

すでに行全体を別々の単語に分割しています:

for word in line.split()

したがってwords_gen、テキストを含む単一の単語はありませんlight pink。代わりに、その行の他のすべての単語とともに、and が 2 つの別個の単語としてlight含まれています。pink

別のアプローチが必要です。正規表現を見てください。

于 2013-04-24T09:19:29.987 に答える