如何使用随机列表中的特定数字打印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

我一直在试图用这段代码计算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.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()