如何从列表中选择一个随机的英语单词

时间:2009-02-27 10:45:47

标签: python random

获取一个返回随机英语单词(最好是名词)的函数的最佳方法是什么,而不保留文件中所有可能单词的列表?

8 个答案:

答案 0 :(得分:21)

Word列表不需要占用太多空间。

这是一个JSON wordlist with over 5000 words, all nouns。它的时钟频率低于50K,即中等大小的jpeg图像。

我会选择一个随机的作为读者的练习。

答案 1 :(得分:10)

你做不到。没有算法来生成有意义的单词。你只能生成听起来像英语的单词,但它们没有任何意义。

答案 2 :(得分:4)

您可以使用该函数尝试并解析在线资源,例如:

http://www.zokutou.co.uk/randomword/

答案 3 :(得分:3)

另一种理论方法:你可以抓取random wikipedia article页面并返回文章的第N个单词。

答案 4 :(得分:2)

只需使用setgetgo的随机单词api即可。它是免费的,很简单,而且它很棒。

http://randomword.setgetgo.com/

答案 5 :(得分:1)

有一个随机单词生成器here - 它不是英语,但它是英语,即单词与语言相似,用户可以阅读单词并将其存储在短期记忆中。

源代码在C#中有点用,但你可以在Python中使用类似的方法来生成大量的单词,而不必存储大量的列表。

或者,您可以直接在演示页面上调用Web服务 - 它虽然托管在GoDaddy上,但不能保证它在生产中有效!

答案 6 :(得分:1)

您可以从http://www.math.toronto.edu/jjchew/scrabble/lists/下载“SOWPODS和TWL共有的词汇”列表。我将这些文件中的所有单词放在一起,列表的重量大约为642k。任何标准都不是很大。这些列表确实包含了许多晦涩难懂的单词,因为它们是用于锦标赛拼字游戏的。好消息是这些列表构成了英语的重要组成部分。

答案 7 :(得分:0)

嗯,你有三个选择:

  • 对单词列表进行硬编码并使用它初始化数组。
  • 从互联网位置而不是文件中获取列表。
  • 在文件中保留可能的单词列表。

避免上述情况的唯一方法是,如果你不关心这个词是否真实:你可以只生成随机长度的字符串。 (如果没有字典列表,就无法以编程方式生成单词。)