我有一个列表,比如 10,000 个字符串 (A)。我还有一个单词向量(V)。
我想要做的是修改 A 的每个字符串以仅保留字符串中存在于 V 中的那些单词并删除其他单词。
例如,假设 A 的第一个元素是"one two three check test"
。V 是向量["one", "test", "nine"]
。因此,A 的第一个元素的修改版本应该如下所示"one test"
。整个过程需要对每个字符串 A 重复。对于每次比较,V 将保持不变。
我正在做类似以下的事情(这可能有一些错误,但我只想说明我是如何解决这个问题的)。
for i in range(len(A)):
a = []
text = nltk.word_tokenize(A[i])
for i in range(len(text)):
if text[i] in V:
a.append(text[i])
a = " ".join(a)
A['modified_string'][i] = a
以上方式非常缓慢且效率低下。我怎样才能快速有效地实现它?