首页 > 解决方案 > 如何在变量名中集成不断变化的索引?

问题描述

我是 python 新手。我正在尝试运行一个脚本,该脚本使用不同的输入多次运行程序(模拟)。对于每个循环,我想获得运行时的持续时间。由于有多次运行,我想得到一个duration1,duration2,duration3 ....durationi,所以我可以在最后检查每个运行时花了多长时间。如何将连续索引“i”集成到变量名中?

i=1
while i <= ......:
   start_time = time.time()
   return_code = subprocess.call(""runtheprogramm"")
   print("--- %s seconds ---" % (time.time() - start_time))
   duration = ("--- %s seconds ---" % (time.time() - start_time))
   i +=1

变量“i”应集成在 duration+i 中

标签: pythonloopsvariablesindexing

解决方案


我不会费心创建离散变量;它很乱,没有任何好处。最好的方法是创建一个列表并在每次迭代中添加持续时间值。因此,您的代码变为:

durations = []
i=1
while i <= ......:
   start_time = time.time()
   return_code = subprocess.call(""runtheprogramm"")
   print("--- %s seconds ---" % (time.time() - start_time))
   duration = ("--- %s seconds ---" % (time.time() - start_time))
   durations.append(duration)
   i += 1
print(durations)

唯一需要注意的是,如图所示,持续时间列表中条目的索引将从 0...n-1 运行,而 i 从 1 到 n。您可以使用索引零的虚拟值初始化持续时间。


推荐阅读