簡體   English   中英

python:如何使用循環訪問嵌套字典中的值

[英]python: how to access values in nested dictionaries using loops

給定以下 Python 字典。

dict = {'site1': {'status': 200}, 'site2': {'status': 200}, 'site3': {'status': 200}}

如何迭代和訪問子字典的值?

for sub in dict.items():
    print(sub["status"])

給出錯誤:元組索引必須是整數或切片,而不是 str

預期結果:打印 3 個字符串,指示每個子字典的站點狀態。

items()返回一個 (key, value) 元組,所以 for 循環應該是這樣的:

dct = {'site1': {'status': 200}, 'site2': {'status': 200}, 'site3': {'status': 200}}

for key, value in dct.items():
    print(value['status'])

出去:

200
200
200

dict.items()返回可迭代的元組對(key, value) 在這里你想進一步索引一個value ,所以你應該這樣做:

for sub in dict.values():
    print(sub["status"])

僅迭代值。

或者:

for key, sub in dict.items():
    print(sub["status"])

解包元組(這是處理dict.items()時通常所做的)。

當然,您也可以先索引元組 - sub[1]["status"]但它不那么可讀。


PS 你永遠不應該把你的字典命名為dict (也不應該列出list )——它是一個用於表示類型的內置名稱。 更改它可能會在以后引入錯誤。

for sub in dict.values():
  print(sub)
#that will gives you list of dictionaries
{'status': 200} {'status': 200} {'status': 200} 

現在打印鍵值

for sub in dict.values():
   print(sub['status'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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