如何访问dict嵌套list再嵌套dict结构中的指定key并打印对应值
报错原因
Cafe["people"]对应的取值是列表类型,列表仅支持整数下标索引,无法直接用字典键"name"访问,这是原有语句无法得到预期结果的核心原因。
正确实现方案
方案1:遍历打印所有姓名
适合需要逐个输出姓名的场景:
Cafe = {"people": [{"name": "Bob", "drink": "Coffee"}, {"name": "Ben", "drink": "Tea"}]} for person in Cafe["people"]: print(person["name"])
运行输出:
Bob Ben
方案2:提取所有姓名到列表后统一处理
适合需要批量使用姓名的场景,使用列表推导式实现:
names = [person["name"] for person in Cafe["people"]] print(names)
运行输出:
['Bob', 'Ben']
补充:取特定位置的姓名
如果只需获取固定位置的姓名,可以直接通过列表下标访问:
- 取第一个人姓名:
print(Cafe["people"][0]["name"]) - 取第二个人姓名:
print(Cafe["people"][1]["name"])
内容的提问来源于stack exchange,提问作者Morv
相关产品推荐
相关产品推荐

