最初はPythonを初めて使ったので、何か見落としてしまったことをお詫びしますが、dict.fromkeys
(または類似のもの)を使用して別のリストのキーが提供されるリストの辞書を作成したいと考えています。私はいくつかのタイミングテストを実行することだし、キーを入力変数と実行のための時間を格納するためのリストであるために私が欲しい:dict.fromkeysを使用して各キーに一意の値を作成する方法を教えてください。
def benchmark(input):
...
return time_taken
runs = 10
inputs = (1, 2, 3, 5, 8, 13, 21, 34, 55)
results = dict.fromkeys(inputs, [])
for run in range(0, runs):
for i in inputs:
results[i].append(benchmark(i))
私がいる問題は、すべてのキーであることです辞書は同じリストを共有するように見え、各実行は単にそれに追加されます。 fromkeys
を使用して、各キーに固有の空のリストを生成する方法はありますか?そうでない場合は、手作業で結果の辞書を生成せずにこれを行う別の方法がありますか?
すごくうまくいく!ありがとう! (私はそれらを使用しなければならなかった前に空のリストを生成することができたらいいと思うが) –
それは不可能である。 []またはlist()を呼び出すと、オブジェクトが作成され、変数にバインドされます。たとえば、このx = [[]] * 10を調べてください。 x [0] .append( 'test'); print x – vartec
OK、そこにはすべてのリストがインスタンス化された代替案があります。 – vartec