Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法减少python中循环的时间?_Python_Loops - Fatal编程技术网

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

有没有办法减少python中循环的时间?,python,loops,Python,Loops,我有一个大约10000个元素的列表,每个循环都有一个。每个元素都是一个长度不同但大致相同的元组。我在测量每个循环计算所需的时间,开始时间非常小,大约1/10秒,但是循环运行的时间越长,时间越长。到最后,计算它需要4秒钟以上 我能做些什么使时间大致保持不变吗?或者至少减少循环后期所需的时间 我已经将内部循环从范围(0,len(tuple))更改为枚举(tuple),但它没有更改所需的时间 for patient in patient_list: starttime = time.time(

我有一个大约10000个元素的列表,每个循环都有一个
。每个元素都是一个长度不同但大致相同的元组。我在测量每个循环计算所需的时间,开始时间非常小,大约1/10秒,但是循环运行的时间越长,时间越长。到最后,计算它需要4秒钟以上

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

我已经将内部循环从
范围(0,len(tuple))
更改为
枚举(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))

患者列表是生成器吗?这可能与写入文件有关。您可以演示如何创建
outputfile
实例吗?你有没有试过确定写作需要多长时间?您是否考虑过收集列表中的所有字符串,然后一次性写入它们?这是我在脚本前面创建的一个列表,我使用“open”(“baseline.csv”,“w”)作为outputfile:”来创建实例。我将尝试计时写入并返回,因为我无法在Linux上重现延迟。如果你能在pastebin上提供一个模拟数据集或者其他很酷的东西。patient_list是一个生成器吗?这可能与编写文件有关。您可以演示如何创建
outputfile
实例吗?你有没有试过确定写作需要多长时间?您是否考虑过收集列表中的所有字符串,然后一次性写入它们?这是我在脚本前面创建的一个列表,我使用“open”(“baseline.csv”,“w”)作为outputfile:”来创建实例。我将尝试计时写入并返回,因为我无法在Linux上重现延迟。如果你能在pastebin上提供一个模拟的数据集或者一些很酷的东西。