嗨,我有一个说100件的 list ,现在我想说应该随机选择的6件物品。任何以非常简单的简明语句来做到这一点的方法吗???
这是我想出的(但它将按顺序获取)
mylist #100 items
N=100
L=6
start=random.randint(0,N-L);
mylist[start:start+L]
最佳答案
切片之前,可以在列表上使用shuffle()
方法。
如果列表的顺序很重要,请先制作一份副本,然后从副本中切出。
mylist #100 items
shuffleList = mylist
L=6
shuffle(shuffleList)
start=random.randint(0,len(shuffleList)-L);
shuffleList[start:start+L]
如上所述,您也可以使用len()而不是定义列表的长度。
正如下面的THC4K所建议的那样,您可以像一样使用random.sample()方法,如果您希望从列表中获得一组随机数(这就是我阅读您的问题的方式)。
mylist #100 items
L=6
random.sample(mylist, L)
比我第一次尝试要整齐!
关于python - 如何获取恒定大小的python列表的随机切片。 (最小的代码),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3793786/