【发布时间】:2020-09-04 09:03:10
【问题描述】:
我有一个巨大的技能列表,我正在这个列表中循环搜索目标技能,如下所示:-
skillset = []
for skill in skills:
if skill in tokens:
skillset.append(skill)
这里 skills 拥有所有技能,我在 tokens(我想搜索)中搜索每个技能,如果找到,则将值附加到另一个列表技能集中。
它工作正常,但花费了太多时间。
那么任何人都可以帮助提高搜索性能吗?
假设技能 = [java, sql, python, php] 和 tokens =['i','know','java','and','php','is','good,'language']
现在我只需要从令牌中获取 java 和 php,为此我在技能数据中搜索每个令牌以获取 php 和 java。
技能列表有 15k 条记录,令牌有许多带有技能的令牌。
【问题讨论】:
-
对于您正在搜索的容器,请考虑将
list更改为set以获得更快的搜索性能。 -
@CoryKramer 你能帮忙吗?
-
技能有多少,令牌有多少?
-
@TedBrownlow,假设技能 =[ java, sql, spring, ptyhon] 现在我必须在列表中搜索 java,所以现在我需要在循环中搜索列表中的每个单词。技能有 15k 技能,令牌有带有令牌形式技能的文本。所以我需要提取技能以匹配技能列表中的技能。