【发布时间】:2012-11-23 09:57:39
【问题描述】:
我想在 python 中生成 0 到 380 万之间的随机数,但是生成这样的数字需要 1 秒,那么有什么好方法可以更快地生成它吗?
from random import randint
randomIndex = randint(1, 3800000)
print randomIndex
这是 1 秒,不是每次,但有时我想优化它,有什么解决方案吗?
还有一些好的算法?
【问题讨论】:
-
如果运行良好,最好将其发布到codereview.stackexchange.com。
-
如果事情需要 1 秒,那么在对
randint()的调用中不是。您的机器是否与其他东西一起征税?也许是交换? -
在我的机器上使用
timeit模块运行这 100 万次需要不到 2 秒。这不是一个python问题。 Python 3.3 比这慢了一点,但远不及你声称的时间。 -
确认,这在我的机器上需要几微秒:
>python -mtimeit "from random import randint" "randint(1, 3800000)"给出100000 loops, best of 3: 3.42 usec per loop。 -
如果其他人像我一样感到困惑:lac 是“南亚编号系统中的一个单位等于十万”。
标签: python random python-3.x