免费单词列表以编程方式使用?

时间:2009-04-21 14:43:48

标签: python dictionary

我的一个朋友正在谈论她喜欢玩的文字游戏,你试图通过一次切换一个字母来将一个单词转换成另一个单词(它们具有相同数量的字母),其中每个迭代产生一个真实的单词

示例:

  

MOON - > WOLF
  GOON
  穿帮
  GOLF
  WOLF

我认为编写一个程序来生成解决方案是一个有趣的小项目,并且在给出2个单词的情况下更进一步,确定解决方案是否存在以及最佳解决方案中的迭代次数。

问题是我无法找到可以通过编程方式轻松访问的免费单词列表。我也在考虑用这个作为学习Python的借口,所以如果有人知道免费的单词列表以及如何从Python解析和访问它的指针就会很棒。用于确定如何找到我自己的最佳路径的算法。

7 个答案:

答案 0 :(得分:61)

选项:

  1. 在您的普通或园艺品种Unix安装上查找/ usr / share / dict / words。
  2. http://www.ibiblio.org/webster/
  3. http://wordlist.sourceforge.net/
  4. http://svnweb.freebsd.org/csrg/share/dict/(点击'words'文件的'revision'标签)
  5. #4是我自己Python experiment用于文字游戏的版本,而且效果很好。

    对于奖励积分,这里有一些东西让你开始你的单词程序:

    import re
    startwith = "MOON"
    endwith = "GOLF"
    cklength = re.compile('.{' + str(len(startwith)) + '}(\n)?$', re.I)
    filename = "C:/dict.txt"
    words = set(x.strip().upper() for x in open(filename) if x.match(cklength))
    

    单词将是字典中所有4个字母单词的集合。你可以从那里做你的逻辑。

答案 1 :(得分:23)

大多数unix(包括osx)都有一个文件/usr/share/dict/words

答案 2 :(得分:6)

你可以找到一个2.2mb的英文单词列表here

您可以使用file i/o functions

访问它们

答案 3 :(得分:5)

如果你有权访问linux安装,那么

中应该有一些单词列表
/usr/share/dict/

答案 4 :(得分:3)

查看dict.org中的数据库。这些实际上是字典数据库,因此您需要自己提取单词定义。您可以从Wordnet开始。

答案 5 :(得分:1)

对于类似的东西,我使用了mozilla English dictionary。 它是一个zip文件(即使它有另一个扩展名)。在里面你会找到en-GB.dic这是字典。

答案 6 :(得分:1)

我遇到了同样的问题,并且在挖掘基于拼字游戏的网站时,我发现了一些文本格式很好的单词列表。他们的英文版本为https://www.wordgamedictionary.com/english-word-list/