字典的使用
1. 字典的定义
字典是通过 {}
表示的,包含键值对,格式为 {key: value}
。
1
2
3
4
5
6
7
|
# 示例:定义一个字典
dic = {
"name": "小明",
"age": 18,
"mobile": "138568985545",
"addr": "上海市浦东新区XXX路"
}
|
2. 字典的常用操作
1. 添加数据
方式一:直接添加
1
2
3
4
|
dic = {}
dic['name'] = '老王'
dic['addr'] = '隔壁'
print(dic) # 输出: {'name': '老王', 'addr': '隔壁'}
|
方式二:使用 update()
方法
1
2
|
dic.update({"a": 11, "b": 22})
print(dic) # 输出: {'name': '老王', 'addr': '隔壁', 'a': 11, 'b': 22}
|
2. 修改数据
通过键修改对应的值:
1
2
3
|
dic = {"aa": 11, "bb": 22, "cc": 33}
dic['aa'] = 9999
print(dic) # 输出: {'aa': 9999, 'bb': 22, 'cc': 33}
|
3. 删除数据
使用 pop()
方法删除指定的键值对:
1
2
3
|
dic22 = {'a': 1, "b": 2, "c": 3, "d": 4}
dic22.pop('a')
print(dic22) # 输出: {'b': 2, 'c': 3, 'd': 4}
|
使用 popitem()
删除字典中的最后一对键值对:
1
2
|
dic22.popitem()
print(dic22) # 输出: {'b': 2, 'c': 3}
|
使用 del
删除指定键值对:
1
2
|
del dic22['b']
print(dic22) # 输出: {'c': 3}
|
4. 查找数据
使用键索引值:
1
2
|
res = dic22['c']
print(res)
|
使用 get()
方法查找值,不存在时不会报错:
1
2
|
res2 = dic22.get('c')
print(res2) # 输出: 3
|
5. 字典的其他方法
获取所有键:
1
2
|
keys = dic22.keys()
print(keys) # 输出: dict_keys(['c'])
|
获取所有值:
1
2
|
values = dic22.values()
print(values) # 输出: dict_values([3])
|
获取所有键值对:
1
2
|
items = dic22.items()
print(items) # 输出: dict_items([('c', 3)])
|
3. 练习题
1. 创建字典并添加数据
创建一个字典 student
,并添加以下信息:
- 姓名(name): “王五”
- 年龄(age): 23
- 电话号码(phone): “13987654321”
1
2
3
4
5
|
student = {
"name": "王五",
"age": 23,
"phone": "13987654321"
}
|
2. 修改字典中的数据
将 student
中的电话号码修改为 "13888888888"
1
|
student['phone'] = "13888888888"
|
3. 删除字典中的数据
从字典 student
中删除键为 "age"
的项。
1
2
|
del student['age']
print(student) # 输出: {'name': '王五', 'phone': '13888888888'}
|
4. 查找字典中的数据
打印 student
中键为 "name"
的值。
1
|
print(student['name']) # 输出: 王五
|
5. 使用 get()
方法查找数据
1
2
|
phone = student.get('phone', '未找到')
print(phone) # 输出: 13888888888
|
6. 添加多项数据
使用 update()
方法,将以下信息添加到 student
中:
- 性别(gender): “男”
- 地址(address): “北京市海淀区”
1
2
3
4
5
|
student.update({
"gender": "男",
"address": "北京市海淀区"
})
print(student)
|
7. 获取字典的所有键
1
2
|
keys = student.keys()
print(keys) # 输出: dict_keys(['name', 'phone', 'gender', 'address'])
|
8. 获取字典的所有值
1
2
|
values = student.values()
print(values) # 输出: dict_values(['王五', '13888888888', '男', '北京市海淀区'])
|
9. 获取字典的所有键值对
1
2
3
|
items = student.items()
print(items)
# 输出: dict_items([('name', '王五'), ('phone', '13888888888'), ('gender', '男'), ('address', '北京市海淀区')])
|
10. 字典的清空操作
1
2
3
4
5
6
|
info = {
"city": "北京",
"population": 21500000
}
info.clear()
print(info) # 输出: {}
|