這裏我關心的是如果name_3 [0]> 50,將其添加到html表中,並且如果name_3 [0] < = 50,則丟棄它並迭代到字典中的下一個值,因爲我不想在50以下添加條目。下面是我想到的邏輯。但是我們可以迭代下一個值嗎?在字典上迭代時,刪除不需要的元素並在字典中進一步移動(Python)
for name_1 in sorted(any_dictionary.keys()):
for name_2 in sorted(any_dictionary[name_1].keys()):
for name_3 in any_dictionary[name_1][name_2]:
if (name_3[0] > 50):
size_KB = name_3[0]
address=name_3[1]
html += """<tr>
<td>{}</td>
<td>{}</td>
<td>{:,}</td>
<td>{:,} [{}]</td>
<td>{}</td>
</tr>\n""".format(name_1,
name_2,
size_KB,
name_3[2],
name_3[3],
address)
您遍歷鍵,而不是值。它更像是:'for any key in any_dictionary' – sisanared
字典不是有序的。如果您移除了某個元素,則不能保證會發生什麼。 https://docs.python.org/3/library/stdtypes.html#typesmapping – Goodies
http://stackoverflow.com/questions/5384914/how-to-delete-items-from-a-dictionary-while-iterating- over-it –