如何使用随机列表中的特定数字打印python执行时间,以输出时间和生成的随机数?
我一直在试图用这段代码计算Python的执行时间,我已经有了时间,但我不知道要测量的列表中使用了哪一个数字。如果有任何关于如何打印它的帮助,我将非常感谢如何使用随机列表中的特定数字打印python执行时间,以输出时间和生成的随机数?,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我一直在试图用这段代码计算Python的执行时间,我已经有了时间,但我不知道要测量的列表中使用了哪一个数字。如果有任何关于如何打印它的帮助,我将非常感谢 import time import random def algorithm(c): b = [] for i in c: b.append(i*2) def data(): c=[] for x in range(10000000): c.append(random.ran
import time
import random
def algorithm(c):
b = []
for i in c:
b.append(i*2)
def data():
c=[]
for x in range(10000000):
c.append(random.randint(1,100000))
timer(c)
def timer(c):
time_start = time.time()
algorithm(c)
time_end = time.time()
time_taken = time_end - time_start
print(time_taken)
data()
我相信你的代码很好,你只需要重新构造一下代码
import time
import random
import timeit
randomNumbersAndTime = {}
def algorithm(c):
b = []
for i in c:
b.append(i*2)
def data():
c=[]
setupCode = "pass"
print ("Random Number , Time Taken to Generate\n")
for x in range(10000000):
codeToExecute = str(random.randint(1,100000))
randomNumb = timeit.timeit(stmt=codeToExecute, setup=setupCode, number=1000000)
randomNumbersAndTime[codeToExecute] = randomNumb
for randomNumber in randomNumbersAndTime.keys() :
print ("{0} , {1} \n".format(randomNumber,randomNumbersAndTime[randomNumber]))
data()
这将为您提供所需的结果
这是一个示例输出:
Random Number , Time Taken to Generate
44806 , 0.433061423485
44806 , 0.433061423485
38079 , 0.44243301193
44806 , 0.433061423485
66713 , 0.435066187359
38079 , 0.44243301193
85426 , 0.422678350883
44806 , 0.433061423485
66713 , 0.435066187359
38079 , 0.44243301193
85426 , 0.422678350883
我希望我理解正确。您可以利用模块:
输出:
17.0021979809
这将执行给定的函数次数,并以秒为单位打印时间。您可以使用设置向测试提供“数据”或“导入”,这些数据只需执行一次,而不是每次运行。需要修复缩进您知道
timeit
模块吗?我见过它,但以前从未使用过它。我非常感谢您的帮助,然而,这听起来并不忘恩负义,但我不知道列表中使用了哪个数字来衡量执行时间。有没有办法把它打印出来?我为我的忘恩负义而道歉。我添加了一些注释来解释这一点,你可以随时询问它是否仍然不清楚。例如,我得到的执行时间可能是17.623674392700195,我需要的是用于计算17.623674392700195的数字。一个不是浮点数的数字,所以我得到一个像17.623674392700195,45878269(随机数)这样的输出。你想知道每个随机数的生成时间,或者生成每个随机数所花费的时间吗?不是随机数本身。很抱歉给你带来了混乱
import time
import random
import timeit
randomNumbersAndTime = {}
def algorithm(c):
b = []
for i in c:
b.append(i*2)
def data():
c=[]
setupCode = "pass"
print ("Random Number , Time Taken to Generate\n")
for x in range(10000000):
codeToExecute = str(random.randint(1,100000))
randomNumb = timeit.timeit(stmt=codeToExecute, setup=setupCode, number=1000000)
randomNumbersAndTime[codeToExecute] = randomNumb
for randomNumber in randomNumbersAndTime.keys() :
print ("{0} , {1} \n".format(randomNumber,randomNumbersAndTime[randomNumber]))
data()
import time
import random
import timeit
randomNumbersAndTime = {}
def algorithm(c):
b = []
for i in c:
b.append(i*2)
def data():
c=[]
setupCode = "pass"
print ("Random Number , Time Taken to Generate\n")
for x in range(10000000):
codeToExecute = str(random.randint(1,100000))
randomNumb = timeit.timeit(stmt=codeToExecute, setup=setupCode, number=1000000)
randomNumbersAndTime[codeToExecute] = randomNumb
for randomNumber in randomNumbersAndTime.keys() :
print ("{0} , {1} \n".format(randomNumber,randomNumbersAndTime[randomNumber]))
data()