第6章 · 字典
掌握键值对数据结构,学习创建、访问、遍历字典以及嵌套字典的技巧。
知识点讲解
字典与键值对
字典是一系列键值对,用花括号 {} 定义,每个键关联一个值。键和值之间用冒号分隔,键值对之间用逗号分隔。
alien = {"color": "green", "points": 5}
print(alien["color"])
alien["x_position"] = 0 # 添加键值对
del alien["points"] # 删除键值对使用 get(key, 默认值) 可以安全地获取可能不存在的键,避免KeyError。
遍历字典
使用 items() 同时遍历键和值,keys() 遍历键,values() 遍历值。默认遍历字典得到的是键。若想按顺序遍历,可结合 sorted();想去重可结合 set()。
嵌套
字典和列表可以互相嵌套:列表中存储字典(如外星人列表)、字典中存储列表(如披萨配料)、字典中存储字典(如多个用户的信息)。嵌套让复杂数据结构的表达变得自然,是处理真实数据的常用手法。
代码示例
字典基本操作
演示字典的创建、访问、添加、修改与删除。
alien = {"color": "green", "points": 5}
print(alien["color"])
alien["x_position"] = 0
print(alien)
alien["color"] = "yellow"
print(f"外星人现在是{alien["color"]}色")
del alien["points"]
print(alien)
# 安全获取
speed = alien.get("speed", "no speed set")
print(speed)
遍历字典
演示items/keys/values的遍历。
favorite_languages = {
"jen": "python",
"sarah": "c",
"edward": "rust",
}
for name, lang in favorite_languages.items():
print(f"{name.title()} 喜欢 {lang.title()}")
for name in sorted(favorite_languages.keys()):
print(name.title())
for lang in set(favorite_languages.values()):
print(lang.title())