Python 字典包含子字典
引言
在 Python 中,字典是一种非常常用的数据类型,它是一个无序的键值对集合。字典可以存储任意类型的数据,包括字符串、整数、列表等。字典还允许嵌套,即一个字典中的值可以是另一个字典。本文将介绍如何在 Python 中创建和操作包含子字典的字典,并提供一些应用示例。
字典基础
在了解如何创建包含子字典的字典之前,我们先来回顾一下字典的基本知识。
字典是由键值对组成的,其中键是唯一的,用来索引值。可以使用花括号 {}
来创建一个空字典,或者使用大括号内包含逗号分隔的键值对来创建一个非空字典。以下是一个简单的字典示例:
person = {
"name": "Alice",
"age": 25,
"city": "New York"
}
可以通过使用方括号 []
并提供键来访问字典中的值。例如,person["name"]
将返回字符串 "Alice"
。
创建字典包含子字典
要创建一个字典包含子字典,只需在键值对中将值设置为另一个字典即可。以下是一个示例:
person = {
"name": "Alice",
"age": 25,
"address": {
"street": "123 Main St",
"city": "New York",
"zip": "10001"
}
}
在这个例子中,person
字典包含一个名为 "address"
的键,其值是另一个字典。这个嵌套的字典表示了人物的地址信息。
访问子字典中的值
要访问字典中子字典的值,可以使用多个方括号。例如,要获取 person
字典中 "address"
字典的 "city"
值,可以使用 person["address"]["city"]
。下面是一个完整的示例:
person = {
"name": "Alice",
"age": 25,
"address": {
"street": "123 Main St",
"city": "New York",
"zip": "10001"
}
}
city = person["address"]["city"]
print(city) # 输出: New York
更新子字典中的值
要更新字典中子字典的值,可以直接使用多个方括号,并将新值赋给相应的键。以下是一个示例:
person = {
"name": "Alice",
"age": 25,
"address": {
"street": "123 Main St",
"city": "New York",
"zip": "10001"
}
}
person["address"]["city"] = "San Francisco"
print(person["address"]["city"]) # 输出: San Francisco
向字典中添加子字典
要向字典中添加子字典,可以直接为新键分配一个字典。以下是一个示例:
person = {
"name": "Alice",
"age": 25
}
person["address"] = {
"street": "123 Main St",
"city": "New York",
"zip": "10001"
}
print(person) # 输出: {'name': 'Alice', 'age': 25, 'address': {'street': '123 Main St', 'city': 'New York', 'zip': '10001'}}
遍历字典包含子字典
要遍历字典中包含子字典的值,可以使用嵌套的 for
循环。以下是一个示例:
person = {
"name": "Alice",
"age": 25,
"address": {
"street": "123 Main St",
"city": "New York",
"zip": "10001"
}
}
for key, value in person.items():
if isinstance(value, dict):
for subkey, subvalue in value.items():
print(subkey, ":", subvalue)
else:
print(key, ":", value)
这个示例将遍历 person
字典,如果值