映射类型(Mapping Type)是Python中一种非常重要的数据结构,它提供了一种高效的方式来存储和访问数据。在Python中,映射类型的典型代表是字典(dict
),它是一种容器类型,能够将键(key)和值(value)以键值对的形式关联起来。这种结构使得我们可以通过键快速地查找对应的值。
字典的基本操作
创建字典
字典可以通过几种不同的方式创建:
使用字典字面量:通过花括号
{}
和冒号:
来创建键值对。person = { 'name': 'Alice', 'age': 30, 'city': 'New York'}
使用
dict()
构造器:通过关键字参数或者键值对列表来创建字典。person = dict(name='Alice', age=30, city='New York') # 或者 person = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
使用字典推导式:这是一种简洁的方式,可以用来构建字典。
squares = { x: x*x for x in range(1, 6)}
访问字典
字典中的元素可以通过键来访问。如果键不存在,则会抛出 KeyError
异常。
# 正确的方式
print(person['name']) # 输出: Alice
# 错误的方式,因为没有 'email' 这个键
# print(person['email'])
# 安全的方式
email = person.get('email') # 输出: None
email = person.get('email', 'not-provided@example.com') # 输出: not-provided@example.com
修改字典
字典是可变的,可以通过键来修改其值。
person['age'] = 31
person['email'] = 'alice@example.com'
删除字典中的项
可以使用 del
关键字来删除字典中的项。
del person['city']
遍历字典
遍历字典时,默认遍历的是键。要同时获取键和值,可以使用 items()
方法。
for key in person:
print(key, person[key])
for key, value in person.items():
print(key, value)
特性
- 有序性:从Python 3.7开始,字典默认保持键的插入顺序。
- 唯一性:字典中的键必须是唯一的,但是值可以重复。
- 不可变键:键必须是不可变的数据类型,如数字、字符串或元组。列表等可变类型不能用作键。
示例
下面是一个简单的示例,展示如何创建一个字典并对其进行一些基本的操作:
# 创建字典
student = {
'id': 123,
'name': 'John Doe',
'grades': [95, 88, 76]
}
# 访问值
print(student['name']) # 输出: John Doe
# 添加新的键值对
student['email'] = 'john.doe@example.com'
# 修改值
student['grades'].append(92)
# 删除键值对
del student['id']
# 遍历字典
for key, value in student.items():
print(f"{key}: {value}")
# 输出:
# name: John Doe
# grades: [95, 88, 76, 92]
# email: john.doe@example.com
总结
映射类型(如字典)在Python编程中非常有用,特别是在需要根据特定标识符快速查找信息的情况下。了解如何使用字典对于编写高效的代码至关重要。