在python中有没有减少循环时间的方法?

2024-04-19 05:46:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个for each循环遍历大约10000个元素的列表。每个元素是一个长度不同但大致相同的元组。我测量了每个循环计算所需的时间,开始的时间非常小,大约是十分之一秒,但是循环运行的时间越长,时间就越长。到最后需要4秒来计算。你知道吗

我能做些什么使时间大致保持不变吗?或者至少减少循环后期所需的时间?你知道吗

我已经将内部循环从range(0, len(tuple))更改为enumerate(tuple),但没有更改所需的时间。你知道吗

for patient in patient_list:
    starttime = time.time()
    count = count + 1
    string = patient[0]
    for i, item in enumerate(patient):
        if i % 2 == 0:
            string = string + ","  + str(patient[i])
    string = string + "\n"
    outputfile.write(string)
    endtime = time.time()
    print("Patient " + str(count) +  " of " + str(total_patients) + " in " + str(endtime-starttime))

Tags: in元素列表forstringtimecount时间