3 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
items()返回一個(gè) (key, value) 的元組,所以 for 循環(huán)應(yīng)該是這樣的:
dct = {'site1': {'status': 200}, 'site2': {'status': 200}, 'site3': {'status': 200}}
for key, value in dct.items():
print(value['status'])
出去:
200
200
200

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
for sub in dict.values():
print(sub)
#that will gives you list of dictionaries
{'status': 200} {'status': 200} {'status': 200}
現(xiàn)在打印鍵值
for sub in dict.values():
print(sub['status'])

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
dict.items()
返回可迭代的元組對(duì)(key, value)
。在這里你想進(jìn)一步索引一個(gè)value,所以你應(yīng)該這樣做:
for sub in dict.values(): print(sub["status"])
僅迭代值。
或者:
for key, sub in dict.items(): print(sub["status"])
解壓元組(這是人們?cè)谔幚?時(shí)通常所做的事情dict.items()
)。
當(dāng)然,您也可以先對(duì)元組建立索引 -sub[1]["status"]
但它不那么可讀。
PS 你永遠(yuǎn)不應(yīng)該只命名你的字典dict
(也不應(yīng)該列出list
) - 它是一個(gè)用于表示類(lèi)型的內(nèi)置名稱(chēng)。更改它可能會(huì)在以后引入錯(cuò)誤。
添加回答
舉報(bào)