python数据类型-字典 Python
二、字典(dict)
字典是一种无序(Python 3.7+ 保持插入顺序)、可变的键值对集合,用花括号 {} 表示,每个键值对用冒号 : 分隔,键必须是不可变类型(如字符串、数字、元组),值可以是任意类型。
定义字典
# 空字典
empty_dict = {}
# 字符串键
person = {"name": "Alice", "age": 30, "city": "New York"}
# 数字键
scores = {101: 85, 102: 92, 103: 78}
# 嵌套字典
users = {
"alice": {"age": 25, "email": "alice@example.com"},
"bob": {"age": 30, "email": "bob@example.com"}
}
常用操作
操作 示例 说明
访问值 person["name"] → "Alice" 若键不存在会引发 KeyError
安全访问 person.get("gender", "Unknown") 键不存在时返回默认值(默认为 None)
添加/修改 person["gender"] = "F" 键不存在则添加,存在则更新
删除键值对 del person["age"] 或 person.pop("city") pop() 返回被删除的值
获取所有键 person.keys() 返回 dict_keys 视图
获取所有值 person.values() 返回 dict_values 视图
获取所有项 person.items() 返回 (键, 值) 对的视图
遍历字典 for k, v in person.items(): 常用方式
合并字典 person.update({"job": "Engineer"}) 将另一个字典的键值对加入当前字典
长度 len(person) 键值对的个数
成员判断 if "name" in person: 判断键是否存在(比检查值更高效)
示例代码
student = {"name": "Bob", "grade": 85}
# 访问与修改
print(student["name"]) # Bob
student["grade"] = 90 # 修改
student["course"] = "Math" # 添加新键值对
# 安全访问
score = student.get("score", 0) # 键不存在,返回 0
# 删除
removed_grade = student.pop("grade") # 90
# 遍历
for key, value in student.items():
print(f"{key}: {value}")
# 合并
extra = {"age": 20, "city": "Beijing"}
student.update(extra)
# 键是否存在
if "course" in student:
print("Course exists")
---
三、简单对比
特性 列表 字典
顺序 有序 无序(但 3.7+ 保留插入顺序)
索引 整数索引 任意不可变类型键
访问速度 按索引 O(1) 按键 O(1) 平均
典型应用 存储序列数据、栈、队列 存储关联数据、快速查找
掌握列表和字典是 Python 编程的基础,熟练使用它们可以大幅提升代码效率和可读性。
评论 (0)
登录后可以发表评论
立即登录还没有评论,快来发表第一条评论吧!