ホーム>source

文字列のリストが2つあります

a = ['a','b','c']
b = ['aa','b','d']

リストaのすべての要素がリストbの要素に含まれているかどうかを確認する必要があります

私はいくつかの解決策を試しましたが、1つ以下でうまくいくと思いましたが、常にTrueを返します

def list_compare(list1,list2):
for item in list1:
    if any(item for s in list2):
        return True
return False
print(list_compare(a,b))

誰もが考えていますか?

クエリファイルでキーワードを検索するには、その比較が必要です。すべてのキーワードがファイル内にある場合(ファイルはリストとして行に分割されている場合)を検索しており、はいの場合、キーワードのいずれかを含むすべての行を返します。

あなたの答え
  • 解決した方法 # 1

    any を使用できます  および all  このような

    >>> def list_compare(list1,list2):
    ...     return all(any(x in y for y in list2) for x in list1)
    ... 
    >>> print(list_compare(a,b))
    False
    
    

  • 解決した方法 # 2

    行の単語の使用を検索します。単語は行の部分文字列にすることができます (行には複数の単語を含めることができます)。

    wordsToFind = ['a','b','c']
    linesOfDocument = ['aa','ab','1234b','d']
    for word in wordsToFind:
        for line in linesOfDocument:
            if word in line:
                print('Found word ' + word + ' in line ' + line)
    
    

    例の出力:

    Found word a in line aa
    Found word a in line ab
    Found word b in line ab
    Found word b in line 1234b
    
    

  • 解決した方法 # 3

    def compare(list1,list2):
        for item in list1:
            if item in list2:  #checking the item is present in list2
                continue       # if yes, goes for next item in list1 to check
            else:
                return False   #if no, immediately comes out with "False"
        else:
            return True        #reaches here, only if all the items in list1 is 
                               #present in list2 , returning "True"
        print(compare(lista,listb))
    
    

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ html - 全画面で背景画像を取得するにはどうすればよいですか