从python中的单词列表返回随机单词


问题内容

我想使用python从文件中检索一个随机单词,但是我不认为我的以下方法是最佳或高效的。请协助。

import fileinput
import _random
file = [line for line in fileinput.input("/etc/dictionaries-common/words")]
rand = _random.Random()
print file[int(rand.random() * len(file))],

问题答案:

随机模块定义了choice(),它可以执行您想要的操作:

import random

words = [line.strip() for line in open('/etc/dictionaries-common/words')]
print(random.choice(words))

还要注意,这假设每个单词本身都位于文件中的一行上。如果文件很大,或者您经常执行此操作,则可能会发现不断重新读取文件会对应用程序的性能产生负面影响。