1.字典的介绍
字典是一个容器类型的数据,可以存储多个键值对数据
字典的表现形式:{key:value,,,,,,,,,,,},类型:dict
字典的使用场景:存储某个描述型信息,可以使用字典,比如:存储某一个学生的信息,一个教室的信息
列表的使用场景:存储某一类信息,比如存储学生这类信息,[{key:value},{key:value}]
字典的好处:字典的取值操作比列表的取值操作可读性高
# 根据key获取字典中的value值,注意点:字典中的key都是唯一
# 1. 中括号方式取值
# 2. get方法取值
# 1. 中括号方式取值 ==========
name = person_dict["name"]
print(name)
# 2. get方法取值 =========
name = person_dict.get("name")
print(name)
# 对比区别
# address = person_dict["address"]
# print(address)
address = person_dict.get("address", "北京")
print(address)
print(person_dict)
# 通过对比可以得知,中括号方式取值要保证key必须在字典中存在,否则崩溃,get方式取值如果key不存在获取的是
# None, 当然可以设置默认值,比如:person_dict.get("address", "北京")
2.字典的增删改查
person_dict = {"name": "杨幂", "age": 30, "sex": "女"}
print(person_dict)
# 查看字典中的数据,根据key
name = person_dict["name"]
print(name)
name = person_dict.get("name")
print(name)
# 添加键值对操作 ==============
# 如果操作key在字典中不存在,那这里的操作是添加键值对的操作
person_dict["address"] = "北京"
print(person_dict)
# 修改键值对的操作 =====
# 如果操作key在字典中存在,那这里的操作是修改键值对的操作
person_dict["age"] = 33
print(person_dict)
# 删除键值对的操作 =====
# del person_dict["sex"]
# print(person_dict)
# 扩展: pop 根据key删除对应的键值对并返回删除的value数据
# sex = person_dict.pop("sex")
# print(sex, person_dict)
# 清空字典中的所有数据
person_dict.clear()
print(person_dict)
# 补充:
# 1. 清空列表中的所有数据
# 2. 合并字典数据
# my_list = [1, 3, 5]
# print(my_list)
# # 清空列表中的数据
# my_list.clear()
# print(my_list)
dict1 = {"name": "李四", "sex": "男"}
dict2 = {"age": 20, "address": "北京", "sex": "女"}
# 根据指定dict2 更新或者合并数据到dict1
dict1.update(dict2)
print(dict1)
3.字典的相关操作
person_dict = {"name": "李四", "sex": "男"}
# len函数: 获取容器类型中元素的个数 ============
result = len(person_dict)
print(result)
# 获取字典中的所有key ===================
keys = person_dict.keys()
print(keys)
# 获取字典中的所有value ===================
values = person_dict.values()
print(values)
# # 获取字典中的所有项(item), 提示:获取字典中的每项数据时,每项数据是元组类型
items = person_dict.items()
print(items)
# 总结: keys和values和items方法都是为后续遍历字典做准备
4.字典的遍历
person_dict = {"name": "曹操", "age": 66, "sex": "男"}
# 遍历字典中的每一个key ========================
for key in person_dict.keys():
# print(key)
# 根据key获取value
value = person_dict[key]
print(key, value)
print("==================")
# 遍历字典中的每一个value ========================
for value in person_dict.values():
print(value)
print("==================")
# 遍历字典中的每一项数据(item)
for item in person_dict.items():
print(item, type(item))
key = item[0]
value = item[1]
print(key, value)
print("==================")
# 遍历字典中的每一项数据的key和value ****
for key, value in person_dict.items():
print(key, value)
print("==================")
# 补充: 对字典直接进行遍历获取的key
for key in person_dict:
print(key)
5.enumerate函数的使用
my_list = ['a', 'b', 'c']
# index = 0
# for value in my_list:
# print(index, value)
# index += 1
for index, value in enumerate(my_list):
# print(value, type(value))
print(index, value)
my_str = "hello"
for index, value in enumerate(my_str):
# 通过下标计算当前是第几项数据
num = index + 1
print("当前是第%d项数据" % num, index, value)
6.字典结合in或者not in使用
person_dict = {"name": "李四", "age":30}# 字典结合int或者not in使用,默认判断的是字典中的key
result = "李四" in person_dict.values()
print(result)
# 判断age这个可以是否在字典中存在
result = "age" in person_dict
print(result)