0
我想在python中生成0到380萬之間的隨機數,但它需要1秒來生成這樣的數字,那麼有沒有什麼好辦法以更快的方式生成它?如何優化python隨機函數
from random import randint
randomIndex = randint(1, 3800000)
print randomIndex
這是加速1秒,不是每次,但有時我想優化它,所以有沒有解決方案?
還有一些不錯的算法?
我想在python中生成0到380萬之間的隨機數,但它需要1秒來生成這樣的數字,那麼有沒有什麼好辦法以更快的方式生成它?如何優化python隨機函數
from random import randint
randomIndex = randint(1, 3800000)
print randomIndex
這是加速1秒,不是每次,但有時我想優化它,所以有沒有解決方案?
還有一些不錯的算法?
如果你想加快你的代碼,你可以嘗試使用numpy
包。
在我的系統,隨機給我:
$ python -mtimeit "from random import randint" "randint(1, 3800000)"
100000 loops, best of 3: 9.14 usec per loop
而且numpy的:
$ python -mtimeit "from numpy import random" "random.randint(1, 3800000)"
100000 loops, best of 3: 3.6 usec per loop
隨着〜2.5倍的加速。
如果工作正常,那麼最好在http://codereview.stackexchange.com/上發佈。 –
如果事情需要1秒鐘,那麼*在調用'randint()'時不*。你的機器是否與其他東西一起徵稅?它可能交換? –
使用'timeit'模塊運行這一百萬次在我的機器上需要2秒鐘時間。這是*不是* python問題。 Python 3.3比這個稍微慢一點,但遠不及你聲稱的時間點。 –