使用其他列表中的关键词搜索列表?

0 投票
2 回答
532 浏览
提问于 2025-04-17 17:52

假设我有这样一个列表

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"]

2 个回答

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))。

撰写回答