擅长:python、mysql、java
<p>你可以避开计数器,只需记录你见过多次的单词,就可以挤出更多的性能。这将有效地从函数中删除一个循环,并允许您收集在单个循环中多次看到的单词:</p>
<pre><code>def UNKWords(words):
seen = set()
kept = set()
for word in words:
if word in seen:
kept.add(word)
else:
seen.add(word)
return kept
def replaceWords(words):
wordsToKeep = UNKWords(trainingWords)
return ["<UNK>" if word not in wordsToKeep else word for word in trainingWords]
</code></pre>
<p>…然后使用集合而不是列表来测试成员资格,正如其他人所提到的,因为它们允许进行固定时间的成员资格测试</p>