问题是在
results = dict.fromkeys(inputs, [])
[] 只被评估一次,就在那里。
我会这样重写这段代码:
runs = 10
inputs = (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 = 10
inputs = (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))