我在论坛中找到了我的问题的答案,但由于我远离专家,因此很难理解其他案例并与我的相比较。对不起,如果这是一个愚蠢的问题。
我在Python中执行一个简单的程序,它读取文件file_i
,接收一些输入,并返回结果result_i
。
我想针对12个案例运行此程序,包含3个不同的文件("file_05"
,"file_10"
和"file_20"
)以及4个不同的输入(u=7
,{{1} },u=8
,u=9
)。但我想一次得到12个结果。
目前,我正在重复代码12次并将所有结果存储在包含u=10
,result_05_7
,...,result_10_7
的文件中。但是当然它运行不正常,因为我在代码中做的每一次修改都要做12次......
有人能帮帮我吗?
答案 0 :(得分:1)
您可以遍历文件和输入,然后将每个结果存储在字典中。
results = {}
files = ["file_05", "file_10", "file_20"]
inputs = [7, 8, 9, 10]
for file in files:
results[file] = {}
for input in inputs:
result = yourfunc(file, input)
results[file][input] = result
最后,结果字典将包含所有条目:
{'file_05': {7: 18, 8: 19, 9: 14, 10: 7},
'file_10': {7: 17, 8: 9, 9: 15, 10: 20},
'file_20': {7: 8, 8: 4, 9: 15, 10: 15}}
答案 1 :(得分:0)
我建议你做以下事情:
itertools
这可能会对您有所帮助:
import itertools
files = ["a.txt", "b.txt", "c.txt"]
numbers = [5,2,7,4,3,6,8,3]
def f(file, number):
print "called f() for file", file, "with additional input", number
for f, n in itertools.product(files, numbers):
f(f, n)
请确保此示例运行,尝试了解它,然后根据您的需要进行更改。