1

各行に文があるテキスト ファイルがあります。そして私は単語リストを持っています。リストから少なくとも 1 つの単語を含む文のみを取得したいだけです。それを行うためのpythonicな方法はありますか?

4

3 に答える 3

4
sentences = [line for line in f if any(word in line for word in word_list)]

これがファイルオブジェクトです。たとえば、がファイルの名前であり、スクリプトと同じディレクトリにある場合にf置き換えることができます。open('file.txt')file.txt

于 2013-01-08T23:44:55.983 に答える
2

使用set.intersection:

with open('file') as f:
    [line for line in f if set(line.lower().split()).itersection(word_set)]

またはでfilter

filter(lambda x:word_set.intersection(set(x.lower().split())),f)
于 2013-01-08T23:54:49.490 に答える
1

これで始められます:

words = ['a', 'and', 'foo']
infile = open('myfile.txt', 'r')
match_sentences = []

for line in infile.readlines():
    # check for words in this line
    # if match, append to match_sentences list
于 2013-01-08T23:44:41.970 に答える