リストから特定のワードが含まれる要素を除外する
特定のワードが含まれる要素をリスト内包表記から除外するには、if条件を追加してそのワードをフィルタリングします。例えば、特定のワードが “exclude_word” であるとすると、以下のように修正できます。
[i[“name”] for i in data[“results”] if “exclude_word” not in i[“name”]]
このコードは、data[“results”]の各要素iについて、i[“name”]に”exclude_word”が含まれていない場合のみ、i[“name”]を新しいリストに追加します。
例えば、特定のワードが “Apple” である場合のコードは次のようになります。
[i[“name”] for i in data[“results”] if “Apple” not in i[“name”]]
このコードは、”Apple” というワードを名前に含む要素を除外した新しいリストを作成します。
特定のワードが複数ある場合
特定のワードが複数ある場合、それらをリストにして、リスト内包表記の中でall()関数を使用して、どの単語も含まれていない要素のみを選択するようにします。例えば、除外したいワードが “Apple” と “Banana” の場合、次のようにコードを書き換えます。
exclude_words = [“Apple”, “Banana”] # 除外したい単語のリスト
[i[“name”] for i in data[“results”] if all(word not in i[“name”] for word in exclude_words)]
このコードは、data[“results”]の各要素iについて、そのi[“name”]にexclude_wordsリストにあるどの単語も含まれていない場合に限り、新しいリストにi[“name”]を追加します
all()関数は、与えられた全ての条件がTrueである場合にTrueを返します。したがって、i[“name”]がexclude_wordsにあるどの単語も含まない場合のみ、リストに追加されます。
コメント