尚不清楚您想要什么,但我将使用numpy.random.randint:
import numpy.random as nprndimport timeitt1 = timeit.Timer('[random.randint(0, 1000) for r in xrange(10000)]', 'import random') # v1### Change v2 so that it picks numbers in (0, 10000) and thus runs...t2 = timeit.Timer('random.sample(range(10000), 10000)', 'import random') # v2t3 = timeit.Timer('nprnd.randint(1000, size=10000)', 'import numpy.random as nprnd') # v3print t1.timeit(1000)/1000print t2.timeit(1000)/1000print t3.timeit(1000)/1000
这在我的机器上给出:
0.02336827301980.007817169189450.000147947072983
请注意,randint与random.sample有 很大
不同(为了使它能在您的情况下工作,我必须将1000更改为10,000,正如一位评论员指出的那样-如果您确实希望将它们从0更改为1,000,则可以除以10)。
如果您真的不在乎所获得的分布情况,那么您可能不太了解自己的问题或随机数-如果听起来很不礼貌,请您道歉…
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)