目录
1. 引言
字典(dict
)是 Python 3 中的一种核心数据结构,用于存储键值对(key-value pairs)。它支持高效的数据存储和查找操作,广泛用于数据组织、配置管理等场景。本教程将详细介绍字典的定义、操作方法和应用场景,帮助您更好地理解其特性和使用方式。
2. 字典概述
2.1 定义与特性
- 定义:字典是一种无序、可变的数据结构,存储键值对,使用大括号
{}
表示,键值对之间用:
分隔,多个键值对用,
分隔。 - 特性:
- 键唯一:同一个字典中的键不能重复,否则后者会覆盖前者。
- Python 3.7+ 保持插入顺序(3.6 及之前版本无序)。
- 可变性:支持修改、添加和删除元素。
- 高效查找:基于哈希表结构,查询速度远快于列表。
了解更多 Python 数据结构(Python 官方文档)
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person) # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}
2.2 创建字典
方式 | 示例 | 说明 |
---|---|---|
直接创建 | {"a": 1, "b": 2} | 手动定义键值对 |
dict() | dict(name="Alice", age=25) | 使用 dict() 构造 |
zip() | dict(zip(["a", "b"], [1, 2])) | 将两个可迭代对象组合成字典 |
fromkeys() | dict.fromkeys(["a", "b"], 0) | 生成具有默认值的字典 |
3. 字典操作
3.1 基本操作
操作 | 说明 | 示例 |
---|---|---|
获取长度 | len(dict) | len({"a": 1, "b": 2}) → 2 |
检查键 | 'key' in dict | "age" in person → True |
获取值 | dict.get(key, 默认值) | person.get("age", 30) → 25 |
删除键值对 | del dict[key] | del person["age"] |
查看更多 Python 字典操作(Real Python 教程)
3.2 访问与修改
# 访问元素
person = {"name": "Alice", "age": 25}
print(person["name"]) # 输出: Alice
# 修改值
person["age"] = 26
print(person) # 输出: {'name': 'Alice', 'age': 26}
# 新增键值对
person["gender"] = "Female"
print(person) # 输出: {'name': 'Alice', 'age': 26, 'gender': 'Female'}
3.3 常用方法
方法 | 说明 | 示例 |
---|---|---|
keys() | 获取所有键 | person.keys() |
values() | 获取所有值 | person.values() |
items() | 获取键值对 | person.items() |
pop(key) | 删除并返回值 | person.pop("age") |
update() | 批量更新 | person.update({"age": 30, "city": "London"}) |
4. 字典与列表的对比
特性 | 字典 (dict ) | 列表 (list ) |
---|---|---|
结构 | 键值对 | 有序元素集合 |
访问方式 | 通过键查找 | 通过索引查找 |
可变性 | 可变 | 可变 |
查找效率 | O(1) | O(n) |
适用场景 | 需要快速查找的情况 | 需要有序数据的情况 |
5. 完整示例
# 创建字典
user = {"id": 101, "name": "John", "age": 30}
# 访问元素
print(f"Name: {user['name']}") # 输出: Name: John
# 修改值
user["age"] = 31
# 新增键值对
user["email"] = "john@example.com"
# 删除键
user.pop("id")
# 遍历字典
for key, value in user.items():
print(f"{key}: {value}")
# 输出:
# name: John
# age: 31
# email: john@example.com
6. 结论
Python 3 的字典是一种高效、灵活的数据结构,适用于存储键值对。它支持快速查找和修改,并提供了丰富的方法来操作数据。与列表相比,字典适用于需要唯一标识符(如 ID、名称)的数据存储场景。通过本教程,您可以熟练掌握字典的基本操作和应用。
深入了解 Python 字典(W3Schools 教程)
7. 参考资料
- Python 官方文档:https://docs.python.org/3/tutorial/datastructures.html
- Real Python – 字典教程:https://realpython.com/python-dicts/
- W3Schools – Python 字典:https://www.w3schools.com/python/python_dictionaries.asp
- GeeksForGeeks – Python Dictionary:https://www.geeksforgeeks.org/python-dictionary/
站内链接:
这样,你的教程不仅完整,还具备良好的结构化索引,支持内部跳转,并提供权威的外部参考资料!
发表回复