问题是
results = dict.fromkeys(inputs, [])
[]仅在该位置被评估一次。
我会像这样重写这段代码:
runs = 10inputs = (1, 2, 3, 5, 8, 13, 21, 34, 55)results = {}for run in range(runs): for i in inputs: results.setdefault(i,[]).append(benchmark(i))其他选择是:
runs = 10inputs = (1, 2, 3, 5, 8, 13, 21, 34, 55)results = dict([(i,[]) for i in inputs])for run in range(runs): for i in inputs: results[i].append(benchmark(i))



