gpt4 book ai didi

python - 从已排序的数字列表中选择 n 个随机数

转载 作者:行者123 更新时间:2023-12-01 05:38:16 28 4
gpt4 key购买 nike

我有一个按顺序排列的数字列表。 连续数字之间可能有间隙。我编写了以下代码来从该列表中查找 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)

最佳答案

不要重新发明轮子。使用random.sample :

Return a k length list of unique elements chosen from the population sequence. Used for random sampling without replacement.

>>> import random
>>> l = range(20)
>>> random.sample(l, 10)
[6, 15, 13, 3, 2, 4, 14, 17, 7, 10]

关于python - 从已排序的数字列表中选择 n 个随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18323589/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com