嗨我有一个列表说100项,现在我想要一个说6项应该随机选择.任何方式都可以用非常简单的简洁陈述来做到这一点???
这就是我提出的(但它将按顺序获取)
mylist #100 items
N=100
L=6
start=random.randint(0,N-L);
mylist[start:start+L]
Run Code Online (Sandbox Code Playgroud)
Azz*_*Azz 10
您可以shuffle()
在切片之前使用列表上的方法.
如果列表的顺序很重要,只需首先复制它并切出副本.
mylist #100 items
shuffleList = mylist
L=6
shuffle(shuffleList)
start=random.randint(0,len(shuffleList)-L);
shuffleList[start:start+L]
Run Code Online (Sandbox Code Playgroud)
如上所述,您也可以使用len()而不是定义列表的长度.
正如下面提到的THC4K,你可以使用下面的random.sample()方法,如果你想从列表中得到一组随机数(这就是我读你的问题).
mylist #100 items
L=6
random.sample(mylist, L)
Run Code Online (Sandbox Code Playgroud)
这比我第一次尝试更加整洁!