2017-08-09 15 views
0

私はループを通ってこの辞書にデータを入れようとしていますが、確認のために印刷すると、辞書に追加される唯一の要素はforループ。これはどうすればできますか?ループを使用してPython辞書を生成する方法

probabilities = {} 
with tf_Session(graph=graph) as sess: 
results = sess.run(output_operation.outputs[0], 
        {input_operation.outputs[0]:t}) 
results = np.squeeze(results) 

top_k = results.argsort()[-5:][::-1] 
labels = load_labels(label_files) 
for j in top_k: 
    print(labels[j], results[j]) 
    probabilities = {labels[j]:results[j]} 

print (probabilities) 
+1

'確率[ラベル[J] =結果を[J]' – Alexander

答えて

4

これは、dictに要素を追加するための正しい構文ではありません。毎回dictをリセットするだけです。おそらくので、これは

probabilities[labels[j]] = results[j] 
+0

は、今多くの意味を作り、ありがとう:) – Veejay

2

あなたはすべての反復でここに新しい辞書を作成している、

probabilities = {labels[j]:results[j]} 

probabilities[labels[j]] = results[j] 

をしたいです各反復で新しい辞書を作成していますあなたのループの。以下試してください:

probabilities = {} 
for j in top_k: 
    print(labels[j], results[j]) 
    probabilities[labels[j]] = results[j] 
+1

はそれを感謝しました:) – Veejay

1

する必要があります。これは、ある代わりに

probabilities = {labels[j]:results[j]} 
関連する問題