簡體   English   中英

如何使用循環填充Python字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM