python:如何使用循环访问嵌套字典中的值

给定以下 python 字典。

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

如何迭代和访问子字典的值?

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

给出错误:元组索引必须是整数或切片,而不是 str

期望的结果:打印 3 个字符串,指示每个子字典的站点状态。


墨色风雨
浏览 117回答 3
3回答

蓝山帝景

items()返回一个 (key, value) 的元组,所以 for 循环应该是这样的:dct = {'site1': {'status': 200}, 'site2': {'status': 200}, 'site3': {'status': 200}}for key, value in dct.items():    print(value['status'])出去:200200200

吃鸡游戏

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'])

拉莫斯之舞

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) - 它是一个用于表示类型的内置名称。更改它可能会在以后引入错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python