python生成一百万个不同的数字需要多长时间?

时间:2019-03-03 22:58:35

标签: python

python是否可以使用代码生成一百万个随机数

import random
a = random.randint(1, 50)
for i in range(1000000):
    print(a)

如果可以的话,大约需要多长时间?

4 个答案:

答案 0 :(得分:2)

当然可以。用时间库对其进行测试。

import time
import random
from random import randint
start = time.time()
for i in range(1000000):
    a = random.randint(1, 50)
end = time.time()
print('It took ' + str(end-start) +' seconds to generate 1000000 numbers')

对我来说,这是0.986739158630371秒,但是打印出这些数字会大大减慢该过程,因此,我不建议打印它们。

您必须将随机数生成器放入循环内,否则运行期间它将不会更改。

答案 1 :(得分:1)

请注意,您的代码只会生成一个随机整数,然后将其打印一百万次。

如果要生成一百万个随机数,则必须在循环中调用randint()

也就是说,根据您所使用的Python版本和硬件的详细信息,仅生成一百万个随机整数所花费的时间不会超过几秒钟。在显示的代码中,打印它们将花费更长的时间。

答案 2 :(得分:1)

笔记本电脑需要0.92秒。

from timeit import timeit
timeit(lambda:[ random.randint(1,50) for _ in range(1000000) ], number=1) 

答案 3 :(得分:0)

您的代码现在将一遍又一遍地打印相同的数字,因为您只生成一次,然后打印一百万次。

import random
for i in range(1000000):
    a = random.randint(1, 50)
    print(a)

这样可以使每次循环都生成一个新数字。 至于速度,只需尝试它就不会花很长时间。