0

このリストを持っているとしましょう

some_list = [
    "red apple",
    "red banana",
    "house is green",
    "blue road",
    "blue hat"
]

キーワードを別のリストに指定したい。

search_strings = ["red", "green"]

あまりループせずにこの最終結果を取得する方法はありますか?

# search some_list using keywords from search_strings
red = ["red apple", "red bana"]
green = ["house is green"]
4

2 に答える 2

2

次の質問の回答の一部は、目的に合わせて調整できます。
python:別のリストの1つのリスト内の文字列を検索し、リストエントリ全体を新しいリストに追加します
。• 1つの文字列から任意の単語または単語の組み合わせを検索します。リスト(python)
Python 2で別の文字列のリストの文字列メンバーを検索する方法
、 •別のリストの任意のエントリに一致するリストエントリを削除する
別のリストから任意のサブ文字列の文字列のリストを検索する、
Python:あるファイルにリストされている文字列を別のテキストファイルから検索しますか?
文字列にPython
の文字列のリストが含まれていない場合これらの質問への回答には、さまざまなループまたはリスト内包法(現在の質問に対するphgの回答など)が含まれ、filter役立つイラストも含まれています。

于 2013-03-04T14:20:14.790 に答える
1
[[words for words in some_list if kw in words.split()] for kw in search_strings]

それはあなたに与えます:

[['red apple', 'red banana'], ['house is green']]

また、の「文」some_listまたは長さがsearch_strings大きくなる場合は、それらをセット(のようにsearch_strings = set(search_strings))に変換するのにお金がかかる場合があります。

于 2013-03-04T13:34:19.183 に答える