我的代码
import random
MyList = [[1,2,3,4,5,6,7,8],[a,s,d,f,g,h,h],[q,w,e,r,t,y]]
MyListRandom = []
random_number = 5
i=0
while True:
random_list = randint(0,len(MyList))
element_random = random.sample(MyList[random_list], 1)
if element_random[0] not in MyListRandom:
i = i+1
MyListRandom.append(element_random[0])
else:
continue
if(i>=random_number):
break
如果我不想用这个代码来检查它
^{pr2}$如果我不想要重复的样品,还有比这更好的方法吗?在
如果我理解你的问题理解正确,你只需要一个随机版本的原始列表,同时消除你原始列表中的任何重复。如果正确,您可以使用
set
和shuffle
:如果您不担心原始列表中的重复项,只需尝试解决
^{pr2}$sample
引入的可能的重复项,则可以这样做:来自documentation
random.sample(MyList)
的答案将从列表中给出唯一的答案。对于从中取样的MyList中的重复项,可以将其设为set。在你也不需要每个样本都有循环,你只要给它一个k参数,它就会返回k个随机样本。所以整个代码可以写成:
相关问题 更多 >
编程相关推荐