0
flink = open("C:/python27/2of12inf.txt", "rU") 
words = [ ]            
for eachline in flink :      
    words += [eachline.strip()]
flink.close()                
print "%d words read" % len(words)
return words

このリストから 6 つのランダムな文字を選択するにはどうすればよいですか?

4

3 に答える 3

2

私が考えることができる最も簡単な方法は、リスト全体をランダム化し、必要な数の要素を取得することです。

>>> words = "one two three four five six seven eight nine ten".split()
>>> import random
>>> random.shuffle(words)
>>> words[:6]
['two', 'five', 'six', 'seven', 'four', 'one']
>>> random.shuffle(words)
>>> words[:6]
['five', 'seven', 'nine', 'three', 'four', 'eight']
于 2013-03-21T19:24:08.357 に答える
0

random.sample は少しきれいです

>>>words = "one two three four five six seven eight nine ten".split()

>>>import random

>>>random.sample(words, 6)
['six', 'seven', 'eight', 'nine', 'three', 'ten']

>>>random.sample(words, 6)
['three', 'five', 'four', 'six', 'one', 'ten']

>>>random.sample(words, 6)
['ten', 'five', 'two', 'nine', 'seven', 'eight']
于 2013-03-21T21:20:36.510 に答える