day 21 字典

生活中的字典我们通过字就可以找到对应的含义   【字】:【含义】

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)

 

总结

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值