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