目录
在 Python 3 中,字典(dict
)是一种非常重要的数据结构,用于存储键值对。字典中的每个元素由一个键和一个对应的值组成,键通常是唯一的,而值可以是任意类型的数据。字典是可变的,可以动态地添加、删除或修改键值对。
1. 字典的创建
字典可以使用花括号 {}
来创建,其中每个键值对之间使用冒号 :
分隔,键值对之间使用逗号 ,
分隔。
示例:
python
深色版本
1# 创建一个空字典
2empty_dict = {}
3
4# 创建一个包含键值对的字典
5person = {
6 "name": "Alice",
7 "age": 30,
8 "city": "New York"
9}
10
11# 创建一个包含嵌套字典的字典
12contact = {
13 "name": "Alice",
14 "details": {
15 "email": "alice@example.com",
16 "phone": "123-456-7890"
17 }
18}
2. 访问字典元素
可以通过键来访问字典中的值。
示例:
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7# 访问字典中的值
8print(person["name"]) # 输出 "Alice"
9print(person.get("city")) # 输出 "New York"
3. 修改字典元素
字典是可变的,可以直接通过键来修改字典中的值。
示例:
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7# 修改字典中的值
8person["age"] = 31
9print(person) # 输出 {'name': 'Alice', 'age': 31, 'city': 'New York'}
4. 添加元素
可以通过赋值来添加新的键值对到字典中。
示例:
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7# 添加新的键值对
8person["job"] = "Engineer"
9print(person) # 输出 {'name': 'Alice', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
5. 删除元素
可以使用 del
语句来删除字典中的键值对。
示例:
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York",
5 "job": "Engineer"
6}
7
8# 删除键值对
9del person["job"]
10print(person) # 输出 {'name': 'Alice', 'age': 30, 'city': 'New York'}
6. 字典的方法
6.1 keys()
方法
返回字典中的所有键。
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7print(person.keys()) # 输出 dict_keys(['name', 'age', 'city'])
6.2 values()
方法
返回字典中的所有值。
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7print(person.values()) # 输出 dict_values(['Alice', 30, 'New York'])
6.3 items()
方法
返回字典中的所有键值对。
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7print(person.items()) # 输出 dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])
7. 字典的遍历
可以使用 for
循环来遍历字典中的每一个键值对。
示例:
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7# 遍历字典中的键值对
8for key, value in person.items():
9 print(f"{key}: {value}")
8. 字典推导式
字典推导式是一种简洁的方式来创建新的字典。
示例:
python
深色版本
1# 创建一个包含数字及其平方的字典
2squares = {x: x*x for x in range(1, 6)}
3print(squares) # 输出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
9. 字典的合并
可以使用字典推导式或 update()
方法来合并两个字典。
示例:
python
深色版本
1dict1 = {"name": "Alice", "age": 30}
2dict2 = {"city": "New York", "job": "Engineer"}
3
4# 使用字典推导式合并
5merged_dict = {**dict1, **dict2}
6print(merged_dict) # 输出 {'name': 'Alice', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
7
8# 使用 update() 方法合并
9dict1.update(dict2)
10print(dict1) # 输出 {'name': 'Alice', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
10. 字典的常见操作
10.1 检查键是否存在
可以使用 in
关键字来检查一个键是否存在于字典中。
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7print("name" in person) # 输出 True
8print("email" in person) # 输出 False
10.2 清空字典
可以使用 clear()
方法来清空字典中的所有键值对。
python
深色版本
1person = {
2 "name": "Alice",
3 "age": 30,
4 "city": "New York"
5}
6
7person.clear()
8print(person) # 输出 {}
总结
字典是 Python 中非常重要的数据结构之一,用于存储键值对。通过了解和掌握字典的操作,可以有效地管理和处理数据。无论是简单的数据存储还是复杂的操作,字典都是一个非常实用的选择。在实际编程中,熟练掌握字典的使用方法是非常有帮助的。