字典是 Python 中的一种数据类型,它用于存储键值对。字典中的键是唯一的,并且可以是任何不可变的数据类型,如字符串、数字或元组。值则可以是任意类型的数据。字典的定义使用大括号 {},并且每个键值对之间用冒号 : 分隔。
创建字典
创建一个空字典:
empty_dict = {}创建一个包含多个键值对的字典:
student = {"name": "张三", "age": 20, "grade": "A"}访问字典中的值
可以通过键来访问字典中的值。如果键不存在,则会引发 KeyError。
print(student["name"]) # 输出: 张三
使用 get() 方法可以避免键不存在时引发错误。get() 方法返回指定键对应的值,如果键不存在,则返回 None 或者指定的默认值。
print(student.get("address")) # 输出: None
print(student.get("address", "未提供")) # 输出: 未提供修改字典
可以添加新的键值对或者更新已有的键值对。
student["address"] = "北京市" student["age"] = 21
删除字典元素
使用 del 关键字删除指定的键值对。
del student["address"]
使用 pop() 方法删除指定的键,并返回该键对应的值。
value = student.pop("age")字典方法
keys()
获取字典中的所有键。
keys = student.keys() print(keys) # 输出: dict_keys(['name', 'grade'])
values()
获取字典中的所有值。
values = student.values() print(values) # 输出: dict_values(['张三', 'A'])
items()
获取字典中的所有键值对,返回一个包含元组的列表。
items = student.items()
print(items) # 输出: dict_items([('name', '张三'), ('grade', 'A')])字典遍历
遍历键
for key in student:
print(key)遍历值
for value in student.values():
print(value)遍历键值对
for key, value in student.items():
print(f"{key}: {value}")字典的嵌套
字典中也可以包含其他字典,形成嵌套结构。
person = {
"name": "李四",
"contact": {
"phone": "12345678901",
"email": "lisi@example.com"
}
}通过嵌套键访问内部字典的值:
print(person["contact"]["phone"])
字典的常用操作
检查键是否存在
if "name" in student:
print("姓名存在")合并字典
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {**dict1, **dict2}
print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}字典应用示例
下面是一个简单的应用示例,展示如何使用字典来管理学生的成绩信息。
// www.javascriptcn.com code example
students = [
{"name": "张三", "scores": {"math": 90, "english": 85}},
{"name": "李四", "scores": {"math": 80, "english": 95}}
]
def get_student_scores(name):
for student in students:
if student["name"] == name:
return student["scores"]
return None
# 示例调用
scores = get_student_scores("张三")
if scores:
print(f"{scores['math']} {scores['english']}")
else:
print("学生不存在")小结
本章介绍了 Python 中字典的基本概念、创建与修改方法、遍历方式以及一些常用的内置方法。掌握了这些基础知识后,你可以在实际编程中灵活运用字典来处理和存储各种复杂的数据结构。字典作为 Python 中一种非常重要的数据类型,在很多场景下都发挥着重要作用,因此建议多加练习和实践,以便更好地掌握这一知识点。