生活中的字典我们通过字就可以找到对应的含义 【字】:【含义】
python中的字典:key:value(可以为任意类型数据)
字典的定义:使用{ },不过存储元素是一个个的:键对值(一个键对值称为一个元素)
字典的特点:可以容纳多个数据,可以容纳不同数据类型,每一份数据都i是keyValue键对值,可以通过key获取到Value,key不可以重复(重复会覆盖),不制裁下标索引,可以修改,支持for循环,不支持while循环
# 定义字典
my_dict = {"张三": 99, "李四": 88, "王五": 77}
# 定义空集合
my_dict2 = {}
my_dict3 = dict()
# 定义重复key的字典
my_dict4 = {"张三": 99, "李四": 88, "王五": 77, "张三": 79, }
print(my_dict4)
# 结果
# {'张三': 79, '李四': 88, '王五': 77}重复的后面的值会覆盖前面的
# 从字典中的key取到对应的值
my_dict = {"张三": 99, "李四": 88, "王五": 77}
score = my_dict["张三"]
print(f"张三的成绩是{score}")
# 结果
# 张三的成绩是99
# 字典的嵌套
my_dict = {"张三": {"语文": 77, "数学": 66, "英语": 33},
"李四": {"语文": 88, "数学": 86, "英语": 55},
"王五": {"语文": 99, "数学": 96, "英语": 66}}
# 从嵌套字典中获取数据
print(my_dict["张三"])
print(my_dict["张三"]["语文"])
# 结果
# {'语文': 77, '数学': 66, '英语': 33}
# 77
字典的常用操作
# 新增加元素
# 语法:字典[key] = Value,结果:字典被修改,新增了元素
my_dict = {"张三": 99, "李四": 88, "王五": 77}
my_dict["李飞"] = 74
print(my_dict)
# 结果 {'张三': 99, '李四': 88, '王五': 77, '李飞': 74}
# 更新元素
# 语法:字典[key] = Value,结果:字典被修改,元素被更新
# 注意:字典key不可重复所以对已存在key执行上述操作,就是更新Value值
my_dict = {"张三": 99, "李四": 88, "王五": 77}
my_dict["张三"] = 74
print(my_dict["张三"])
# 结果 74
# 删除元素
# 语法:字典.pop(key),结果:获得指定key的Value,同时字典被修改,指定key的数据被删除
my_dict = {"张三": 99, "李四": 88, "王五": 77}
name = my_dict.pop("张三")
print(my_dict)
# 结果 {'李四': 88, '王五': 77} name =99
# 清空字典
# 语法:字典.clear(),结果:字典被修改,元素被清空
my_dict = {"张三": 99, "李四": 88, "王五": 77}
my_dict.clear()
print(my_dict)
# 结果 {}
# 遍历字典 通过回去到全部key来完成遍历
for key in keys:
print(f"字典的key是{key}")
print(f"字典的值是{my_dict[key]}")
# 结果字典的key是张三
# 字典的值是99
# 字典的key是李四
# 字典的值是88
# 字典的key是王五
# 字典的值是77
# 同过对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
print(f"字典的key是{key}")
print(f"字典的值是{my_dict[key]}")
# 结果字典的key是张三
# 字典的值是99
# 字典的key是李四
# 字典的值是88
# 字典的key是王五
# 字典的值是77
# 统计字典内的元素数量
num = len(my_dict)
print(num)
# 结果 3
案例
dict1 = {"张三": {"部门": "科技部", "工资": 3000, "级别": 1},"李四": {"部门": "市场部", "工资": 5000, "级别": 2},
"王五": {"部门": "市场部", "工资": 7000, "级别": 3},"李飞": {"部门": "科技部", "工资": 4000, "级别": 1},
"王机": {"部门": "市场部", "工资": 6000, "级别": 2}
}
print(dict1)
for key in dict1:
num = dict1[key]["级别"]
if num == 1:
num += 1
dict1[key]["级别"] = num
dict1[key]["工资"] += 1000
print(dict1)
for key in dict1:
if dict1[key]["级别"] == 1:
dict2 = dict1[key]
dict2["级别"] = 2
dict2["工资"] += 1000
dict1[key] = dict2
print(dict1)
总结