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