2013-03-04 67 views
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"] 

回答

1
[[words for words in some_list if kw in words.split()] for kw in search_strings] 

这就给了你:

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

而且,如果 “sencences” 在some_listsearch_strings长度越长越大,它可能会支付将它们转换为集(如search_strings = set(search_strings)) 。

+0

哇,这是短而精确的......谢谢你给我看! :) – Panupat 2013-03-04 16:13:17

2
相关问题