2014-10-28 49 views
-1

这可能很容易,但无法找到解决方案。我有一个文本文件,里面有10个5个字母的单词,我想要它做的是随机选择10个单词中的9个并打印出来。从外部文件生成一定数量的随机单词

目前我有这样的:

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

这会产生从10列表中的一个随机字 - 但我希望它产生了我9个10没有任何重复。 任何人都可以给我一个简单的解决方案吗?

回答

5

你想用random.sample从人群选择一定数量独特的元素:

random.sample(randomword, 9) 

你也许可以做到这一点,而不读取整个文件,但我想这是另外一个问题。

0

另一种解决方案:random.shuffle

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

而另一种解决方案:从这里选择范围内的随机数和打印所有不符合你选号码的条目。实际上,你随机选择一个离开,而不是试图挑选要印刷的九个。