Adrian_G:
私は、コードを持って、私の中のモーダル動詞の少なくとも一方が存在するかどうかをチェックすることword_list
。
with open('Requirements_good.txt') as myfile:
word_list=[word for line in myfile for word in line.split()]
with open('Badwords_modalverbs.txt') as file:
modalv = 0
for word in file.readlines():
if word.strip() in word_list:
modalv = 1
if modalv == 1:
print ("one of the words found")
しかし、これを解決するために簡単に、よりエレガントな方法がなければなりません。それを確認する最も簡単な方法は何ですか?
そして、どのようにopposit?:印刷何のための1つのチェックの単語のいずれも見つからないならば
kaya3:
まず、作るword_list
それはそれのテストメンバーシップへの効率的だそうということではなく、リストのセットを。次に、あなたが使用できるany
機能を:
with open('Requirements_good.txt') as myfile:
# set comprehension instead of list comprehension
word_set = {word for line in myfile for word in line.split()}
with open('Badwords_modalverbs.txt') as file:
if any(word.strip() in word_set for word in file):
print("one of the words found")
あなたは、もはやテストの会員にリストを検索しているので、これは、より効率的ではありませんが、また、any
関数は、それが1試合を見つけた後に検索を続けることはありません。file.readlines()
関数は、ここにも不要です。for word in file
最初のリストを作成せずに行を反復処理。