How can I apply a fucntion over a set of numbered files and get outputs numbered same way using python?
我正在分析一系列分子动力学轨迹,
1 2 3 4 | traj1 traj2 traj3 ... |
我想将一个分析函数单独应用于所有这些函数,这样我就可以得到不同的输出,并对它们进行编号。
1 2 3 4 | output1 output2 output3 ... |
号
或者那个或者
1 2 3 | traj1_output traj2_output traj3_output |
我试着写一个循环,但找不到真正的方法。
任何建议都将受到高度赞赏。
谢谢!
您可以为一个元素编写函数,然后使用
在我看来,您要做的是将输入映射到输出。虽然您可以使用编程创建的名称动态创建变量(请参见此答案),但使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def process(data): return"processed: {data}".format(data=data) trajectories = { "traj1":"some data", "traj2":"some data", "traj3":"some data", } results = {} for name in trajectories: output_name ="{name}_output".format(name=name) results[output_name] = process(trajectories[name]) # Print out all results (in semi-random order) for name in results: print("{name}: {result}".format(name=name, result=results[name])) # Print out a result from the dict print(results["traj1_output"]) |
请注意,存根函数和值就在这里,这样您就可以随意使用这个概念,而不需要在实际程序中使用一些复杂的算法。