[英]How to populate Python dictionary using a loop
我試圖在遍歷時填充此字典,但是當我將其打印以進行檢查時,似乎僅添加到字典中的唯一元素是for循環中的最后一項。 如何才能做到這一點?
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)
這不是將元素添加到dict
的正確語法。 您只是每次都重置dict
。 你可能想要
probabilities[labels[j]] = results[j]
代替
probabilities = {labels[j]:results[j]}
您將在每次迭代中在此處創建一個新的字典,
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.