如何在文本文件中搜索一组单词?

时间:2018-06-15 07:46:12

标签: python arrays text

我正在撰写一个关于从存储在文本文件中的评论中提取语义方向的项目。 我有一个400 * 2阵列,每行包含一个单词和它的重量。我想检查文本文件中的哪些单词,并计算整个内容的权重。

我的问题是 -

最有效的方法是什么?我应该单独搜索每个单词,例如使用for循环吗? 将文本文件的内容存储在字符串对象中可以获得任何好处吗?

2 个答案:

答案 0 :(得分:0)

https://docs.python.org/3.6/library/mmap.html

这可能对你有用。你可以使用find

答案 1 :(得分:0)

这可能是开箱即用的想法,但如果你不关心单词的语义/语法连接:

  • 按长度排序文本中的所有单词
  • 按长度排序数组

  • 写一个for循环:
  • 从文本中的每个单词上调用len()(长度)。
  • 然后只检查那些长度相同的单词。

通过一些修补,它可能会给你一个良好的性能提升,而不是“天真”的搜索。

如果你想获得额外的提升(关于用例如6个字母查找第一个单词(400),那么也要查看搜索算法 - 然后“向下”列表,直到第一个单词出现5个字母,然后停止。

或者你也可以构建一个索引数组,其中包含所有5个字母单词的第一个和最后一个的索引(其余为模拟),假设你的单词没有改变。