如何在python中打印文本时不重复random.choice
我在文本文件中有三个列表,我正在尝试随机生成一个四个单词的消息,从如何在python中打印文本时不重复random.choice,python,random,repeat,choice,Python,Random,Repeat,Choice,我在文本文件中有三个列表,我正在尝试随机生成一个四个单词的消息,从前缀和suprafix列表中选择前三个单词,并从“后缀”文件中选择第四个单词 但是,我想防止它拾取已由random.choice函数选择的单词 import random a= random.random prefix = open('prefix.txt','r').readlines() suprafix = open('suprafix.txt','r').readlines() suffix = open('suffix
前缀
和suprafix
列表中选择前三个单词,并从“后缀”文件中选择第四个单词
但是,我想防止它拾取已由random.choice
函数选择的单词
import random
a= random.random
prefix = open('prefix.txt','r').readlines()
suprafix = open('suprafix.txt','r').readlines()
suffix = open('suffix.txt','r').readlines()
print (random.choice(prefix + suprafix), random.choice(prefix + suprafix), random.choice(prefix + suprafix), random.choice(suffix))
正如您所见,它从这两个列表中随机选择三个单词。random。示例(pop,k)
从pop
中选择k
项,而不进行替换。因此:
感谢xnx通过使用random.sample帮助我解决问题,然后再打印其中一个,我可能已经做了很长一段时间了,但我就是这样做的>
import random
a=随机
prefix=open('prefix.txt','r')。readlines()
suprafix=open('suprafix.txt','r')。readlines()
suffix=open('suffix.txt','r')。readlines()
prefix1,prefix2,prefix3=随机样本(前缀,3)
suprafix1,suprafix2,suprafix3=随机样本(suprafix,3)
后缀=随机。选择(后缀)
一=前缀1,上标1
二=前缀x2,上标2
三=前缀x3,上标3
打印(random.choice(一)、random.choice(二)、random.choice(三)、后缀)您可以
random.shuffle
并对列表进行切片,或者random.sample
,或者存储以前的选择,并在再次出现时“手动”拒绝它们,或者。。。
import random