从外部文件生成一定数量的随机单词

时间:2014-10-28 14:30:20

标签: python random

这可能很容易,但无法找到解决方案。我有一个文本文件,里面有10个5个字母的单词,我想要的是随机挑选10个单词中的9个并打印出来。

目前我已经得到了这个:

import random
randomword = [line.strip() for line in open('10.txt')]
print (random.choice(randomword))

这会从10个列表中生成一个随机单词 - 但是我想让它在不重复的情况下生成9个满分。 任何人都可以给我一个简单的解决方案吗?

3 个答案:

答案 0 :(得分:5)

您希望使用random.sample从群体中选择一定数量的唯一元素:

random.sample(randomword, 9)

你可以在不阅读整个文件的情况下这样做,但我认为这是一个单独的问题。

答案 1 :(得分:0)

另一种解决方案:random.shuffle

from random import shuffle    
data = open('file.txt','r').read().split()
shuffle(data)
data[:9]

答案 2 :(得分:0)

另一种解决方案:从范围中选择一个随机数,并打印与您选择的数字不匹配的所有条目。实际上你随机选择一个遗漏,而不是试图挑选九个打印。