第27集:字典常用方法
本集学习目标
- 掌握字典的keys()、values()、items()方法
- 学会字典的update()方法
- 掌握字典的fromkeys()方法
- 学会字典的setdefault()方法
- 掌握字典的其他常用方法
常用方法
keys() - 获取所有键
返回字典中所有的键。
student = {"name": "张三", "age": 18, "city": "北京"}
keys = student.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
# 转换为列表
keys_list = list(keys)
print(keys_list) # ['name', 'age', 'city']values() - 获取所有值
返回字典中所有的值。
student = {"name": "张三", "age": 18, "city": "北京"}
values = student.values()
print(values) # dict_values(['张三', 18, '北京'])
# 转换为列表
values_list = list(values)
print(values_list) # ['张三', 18, '北京']items() - 获取所有键值对
返回字典中所有的键值对。
student = {"name": "张三", "age": 18, "city": "北京"}
items = student.items()
print(items) # dict_items([('name', '张三'), ('age', 18), ('city', '北京')])
# 转换为列表
items_list = list(items)
print(items_list)update() - 更新字典
用另一个字典更新当前字典。
dict1 = {"name": "张三", "age": 18}
dict2 = {"age": 19, "city": "北京"}
dict1.update(dict2)
print(dict1) # {'name': '张三', 'age': 19, 'city': '北京'}fromkeys() - 创建字典
用给定的键创建字典,所有键的值相同。
keys = ["name", "age", "city"]
value = "未知"
student = dict.fromkeys(keys, value)
print(student) # {'name': '未知', 'age': '未知', 'city': '未知'}setdefault() - 获取值或设置默认值
如果键存在,返回对应的值;如果不存在,设置默认值并返回。
student = {"name": "张三", "age": 18}
# 键存在,返回值
name = student.setdefault("name", "李四")
print(name) # 张三
# 键不存在,设置并返回默认值
city = student.setdefault("city", "北京")
print(city) # 北京
print(student) # {'name': '张三', 'age': 18, 'city': '北京'}get() - 获取值
返回键对应的值,键不存在返回默认值。
student = {"name": "张三", "age": 18}
print(student.get("name")) # 张三
print(student.get("city")) # None
print(student.get("city", "未知")) # 未知pop() - 删除并返回值
删除指定键并返回对应的值。
student = {"name": "张三", "age": 18, "city": "北京"}
city = student.pop("city")
print(city) # 北京
print(student) # {'name': '张三', 'age': 18}popitem() - 删除并返回最后一个键值对
student = {"name": "张三", "age": 18, "city": "北京"}
item = student.popitem()
print(item) # ('city', '北京')
print(student) # {'name': '张三', 'age': 18}clear() - 清空字典
student = {"name": "张三", "age": 18}
student.clear()
print(student) # {}copy() - 复制字典
创建字典的浅拷贝。
student1 = {"name": "张三", "age": 18}
student2 = student1.copy()
student2["age"] = 19
print(student1) # {'name': '张三', 'age': 18}
print(student2) # {'name': '张三', 'age': 19}本集小结
- **keys()**:获取所有键
- **values()**:获取所有值
- **items()**:获取所有键值对
- **update()**:更新字典
- **fromkeys()**:用键创建字典
- **setdefault()**:获取值或设置默认值
- **get()**:安全获取值
- **pop()**:删除并返回值
- **clear()**:清空字典
- **copy()**:复制字典
课后练习
练习1:获取键和值
获取字典的所有键和值,转换为列表。
练习2:更新字典
使用update()方法更新字典。
练习3:fromkeys()
使用fromkeys()创建所有值为0的字典。
练习4:setdefault()
使用setdefault()确保字典包含特定键。
练习5:综合练习
创建学生字典,使用多种方法操作。
下集预告
下一集我们将学习第28集:集合基础操作。集合是Python中用于存储不重复元素的数据结构。
敬请期待!