我有一个按排序顺序排列的数字列表。There may be gaps between consecutive numbers
. 我编写了以下代码从该列表中查找 50K 随机数,但是这需要太多时间。有什么有效的版本吗?
def selectNrandomValsFromAList(mylist, n):
retval = []
randomchoice = random.choice
mylistremove = mylist.remove
retvalappend = retval.append
for i in range(n):
value = randomchoice(mylist)
mylistremove(value)
retvalappend(value)
return(retval)
mylist = range(2000000)
n =50000
selectNrandomValsFromAList(mylist,n)