给定以下 python 字典。dict = {'site1': {'status': 200}, 'site2': {'status': 200}, 'site3': {'status': 200}}如何迭代和访问子字典的值?for sub in dict.items():
print(sub["status"])给出错误:元组索引必须是整数或切片,而不是 str期望的结果:打印 3 个字符串,指示每个子字典的站点状态。
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
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
吃鸡游戏
TA贡献1829条经验 获得超7个赞
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'])
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
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
) - 它是一个用于表示类型的内置名称。更改它可能会在以后引入错误。
添加回答
举报
0/150
提交
取消