【问题标题】:Python Unique words in text filePython文本文件中的唯一单词
【发布时间】:2017-07-09 17:19:26
【问题描述】:

我需要在文本文件中插入唯一的单词。每行一个单词,该单词在整个文件中是唯一的。

每当一个新单词作为变量“单词”出现时,我需要一种方法来检查它是否存在于文件中。如果它存在,那么它将再次选择另一个词。它会再次检查它是否存在,直到出现一个唯一的单词。

我该怎么做?

顺便说一句,我在做:

    newword = "learn"
    f = open('wordlist.txt')
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    while s.find(newword) != -1:
        return newword
    else:
        return newword

提前致谢。

【问题讨论】:

  • @RayhaneMama 很抱歉没有添加测试...

标签: python python-2.7 loops unique


【解决方案1】:

假设文件不是太大,你可以把它全部读到内存中,然后检查单词是否存在:

def word_in_file(filename, word):
    with open(filename) as f:
        words = f.read().splitlines()

    return word in words

如果您要多次执行此操作,您最好保留words 列表并将添加到文件中的每个单词附加到该列表中,而不是多次读取它。 此外,从words 创建set 应该会缩短搜索时间,如果您要向文件中添加多个单词,那么“努力”可能是值得的。

【讨论】:

  • 能否请您详细说明功能和用例?我是新人...
猜你喜欢
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
  • 2014-11-04
  • 2021-09-05
相关资源
最近更新 更多