嗨,我有一个说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/

10-14 19:18
查看更多