【发布时间】:2018-04-13 19:30:40
【问题描述】:
我有两个列表:列表message 和列表keyword。列表message 如下所示:
message = ["my name is blabla",'x-men is a good movie','i deny that fact']
keyword = ['x-men','name is','psycho movie']
我想创建一个新列表,其中包含消息中存在的关键字。
newList = []
for message_index in message:
print(newList)
for keyword in keywords:
if search(r'\b{}\b'.format(keyword), message_index):
newList.append(keyword)
我的python代码在上面,问题是我的消息列表中的每个句子大约是100到150个单词,列表的长度是3000。每个关键字可能是一两个单词,列表的长度是12000。
所以搜索需要很长时间,有没有更短的方法?
由于两个列表中的数据量很大,所以这个问题有所不同。
【问题讨论】:
-
您希望每个出现的关键字只出现一次吗?
-
您似乎在使用
re.search,而不是子字符串搜索。你真正需要哪一个?
标签: python search substring data-processing