python中的嵌套字典是什么意思?

嵌套字典是指字典的值包含另一个字典,用于组织层级数据。例如student字典中,"Alice"和"Bob"对应的值是包含年龄、专业和成绩的字典。可通过连续使用[]访问数据,如student"Alice"获取年龄值23;推荐用get()方法避免KeyError,如查找不到返回默认值。可直接赋值添加或修改内容,如student["Charlie"] = {...}新增学生,或更新student"Alice" = 24。用for循环遍历items()可输出每位学生信息,适合处理JSON或配置数据,注意避免过深嵌套以保持清晰。

Python中的嵌套字典指的是在一个字典的值中包含另一个字典。这种结构允许你组织更复杂的数据,适合表示层级关系或具有多个属性的对象。

什么是嵌套字典?

在Python中,字典的值可以是任何数据类型,包括列表、字符串、数字,当然也包括其他字典。当某个键对应的值是一个字典时,就形成了嵌套字典。

例如:

student = {
    "Alice": {
        "age": 23,
        "major": "Computer Science",
        "grades": [88, 92, 79]
    },
    "Bob": {
        "age": 22,
        "major": "Mathematics",
        "grades": [95, 87, 90]
    }
}

这里,student 是一个嵌套字典,它的每个键(如 "Alice")对应一个包含该学生详细信息的字典。

如何访问嵌套字典中的数据?

你可以通过连续使用方括号 [] 来逐层访问嵌套字典中的值。

print(student["Alice"]["age"])       # 输出: 23
print(student["Bob"]["grades"][1])   # 输出: 87

如果访问的键不存在,Python会抛出 KeyError。为避免错误,可以使用 get() 方法:

print(student.get("Charlie", {}).get("age", "Not found"))
# 输出: Not found

如何修改或添加嵌套内容?

可以直接赋值来添加或更新嵌套字典中的数据。

# 添加新学生
student["Charlie"] = {
    "age": 24,
    "major": "Physics",
    "grades": [85, 80, 88]
}

修改已有信息

student["Alice"]["age"] = 24

遍历嵌套字典

使用 for 循环可以遍历外层和内层字典。

for name, info in student.items():
    print(f"{name}: {info['major']}, Age: {info['age']}")

这会输出每个学生的姓名、专业和年龄。

基本上就这些。嵌套字典在处理配置信息、JSON 数据或层次化数据时非常实用,只要注意层级清晰,避免过深嵌套即可。不复杂但容易忽略。