Python入门--字典

1、打开Pycharm,创建Python文件,复制代码,保存运行!
在这里插入图片描述

# 字典的定义,同样使用{},不过存储的元素是一个个的:键值对 dict()
# {key:value,key:value,key:value,key:value.....}

# 定义字典 一个元素由一个key和value组成
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}

# 定义空字典
my_dict2 = dict()
my_dict3 = {}# 字典可以使用
print(f"字典1的内容是{my_dict},类型是{type(my_dict)}")
print(f"字典2的内容是{my_dict2},类型是{type(my_dict2)}")
print(f"字典3的内容是{my_dict3},类型是{type(my_dict3)}")

# 定义重复的字典 和集合类似不允许重复 key不相同 后面会覆盖前面的值
my_dict4= {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,"张三":100,"李四":100,"王五":100,"张二":100,"孙六":100}
print(f"重复字典4的内容是{my_dict4}")

# 从字典中基于key获取value的值 类似下标索引的方式,返回的是一个值得用变量接收
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
score = my_dict["孙六"]
print(f"孙六的成绩是:{score}")

# 字典的嵌套
# 字典的Key和Value可以是任意数据类型 (key不可为字典)
# 那么,就表明,字典是可以嵌套的需求
# 如下:记录学生各科的考试信息
stu_score_dict = {
    "张三":{
        "语文":88,"数学":99,"英语":40
    },
    "李四":{
        "语文":90,"数学":85,"英语":60
    },
    "王五":{
        "语文":88,"数学":77,"英语":99
    }
}
print(f"学生的考试信息{stu_score_dict}")

# 从嵌套字典取出值
score2 = stu_score_dict["王五"]["英语"]# 先取出的是字典
print(f"王五的英语成绩是:{score2}")

# 字典的常用操作

# 新增元素,修改元素
# 语法:字典[key]=value 若key存在则更新后面的值,若不存在则添加新元素
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
# 增加
my_dict["xpp"] = 100
print(f"新增后字典的值为{my_dict}")
# 修改
my_dict["张三"] = 19
print(f"修改后字典的值为{my_dict}")
stu_score_dict["王五"]["英语"] = 55
print(f"修改后字典的值为{stu_score_dict}")

# 删除元素
# 语法:字典.pop(Key) 结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除
value = my_dict.pop("xpp")
print(f"被删除元素的值是{value},删除后字典为{my_dict}")

# 清空元素
my_dict.clear()
print(f"清空my_dict结果是{my_dict}")

# 获取全部的key
# 语法:字典.keys()结果:得到字典中的全部Key
my_dict = {"张三":85,"李四":99,"王五":55,"张二":68,"孙六":84,}
keys = my_dict.keys()
print(f"字典的全部keys是{keys},类型是{type(keys)}")

# 遍历字典
# 方式1 获取所有的key
for key in keys:
    print(f"字典的key是:{key},value是{my_dict[key]}")
# 方式2 直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
    print(f"2字典的key是:{key},value是{my_dict[key]}")

# 统计字典元素数量 len(字典)
num  = len(my_dict)
print(f"my_dict的长度是{num}")

# 练习
# 有如下员工信息,请使用字典完成数据的记录。
# 并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元
# 姓名    部门   工资   级别
# 王力鸿  科技部  3000  1
# 周杰轮  市场部  5000  2
# 林俊节  市场部  7000  3
# 张学油  科技部  4000  1
# 刘德滑  市场部  6000  2
ex_dict = {
    "王力鸿":{
        "部门":"科技部",
        "工资":3000,
        "级别":1
    },"周杰轮":{
        "部门":"科技部",
        "工资":5000,
        "级别":2
    },"林俊节":{
        "部门":"市场部",
        "工资":7000,
        "级别":3
    },"张学油":{
        "部门":"科技部",
        "工资":4000,
        "级别":1
    },"刘德滑":{
        "部门":"市场部",
        "工资":6000,
        "级别":2
    }
}

for key in ex_dict:
    if ex_dict[key]["级别"] == 1:
        ex_dict[key]["级别"] += 1
        ex_dict[key]["工资"] += 1000
print(f"升职加薪后的结果是{ex_dict}")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值