リスト内の少なくとも1つの文字列の存在を確認してください

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最初のリストを作成せずに行を反復処理。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=12899&siteId=1