06-数据容器(字典)基础知识0基础来学

简介: 06-数据容器(字典)基础知识0基础来学

为什么需要字典

可以提供通过某个东西找到某个东西

"""
演示数据容器字典的定义
"""
#定义字典
my_dict1={"王力宏":99,"周结论":88,"林俊杰":77}
#定义空字典
my_dict2={}
my_dict3=dict()
print(f"字典1的内容是:{my_dict1},类型是:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型是:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型是:{type(my_dict3)}")

定义重复Key的字典

很显然此时已经有黄色提醒了

#定义重复Key的字典
my_dict1={"王力宏":99,"王力宏":99,"林俊杰":77}
print(f"重复Key的字典内容是:{my_dict1}")

运行后也发现,重复的内容也已经被去掉了,留下的内容是不重复的

字典数据的获取由key取到value

#从字典重基于key值获取value
my_dict1={"王力宏":99,"周结论":88,"林俊杰":77}
score=my_dict1["王力宏"]
print(f"王力宏的考试分数是:{score}")

字典的嵌套

#定义嵌套字典
stu_score_dict={
    "王力宏":{
        "语文":77,
        "数学":66,
        "英语":55
    }
    ,"周杰轮":{
        "语文":88,
        "数学":86,
        "英语":55
    },"林俊杰":{
        "语文":99,
        "数学":96,
        "英语":66
    }
}
print(f"学生的考试信息是:{stu_score_dict}")

#定义嵌套字典
stu_score_dict={
    "王力宏":{
        "语文":77,
        "数学":66,
        "英语":55
    }
    ,"周杰轮":{
        "语文":88,
        "数学":86,
        "英语":55
    },"林俊杰":{
        "语文":99,
        "数学":96,
        "英语":66
    }
}
# print(f"学生的考试信息是:{stu_score_dict}")
#从嵌套字典重获取数据
#看一下周杰伦的语文信息
score=stu_score_dict["周杰轮"]["语文"]
print(f"周杰伦的语文成绩是:{score}")

数据容器(字典)–常用操作

新增元素-更新元素

"""
演示字典的常用操作
"""
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
#新增元素
my_dict["张信者"]=66
print(f"字典新增元素后,结果:{my_dict}")
#更新元素
my_dict["周结论"]=33
print(f"字典更新元素后,结果:{my_dict}")

删除元素-清空字典

#删除元素
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
score =my_dict.pop("周结论")#用pop取出周结论的成绩,同时还能删除key 和value
print(f"字典中被移除一个元素后结果是:{my_dict},周结论的分数是:{score}")

#清空字典
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
my_dict.clear()
print(f"字典清空后的结果为:{my_dict}")

获取全部的key

#获取全部的key
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
keys=my_dict.keys()
print(f"字典的全部keys是:{keys}")

获取全部的key能用来干什么?

遍历获取到key,而后依次通过key获取value

#遍历字典,通过key去取value
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
keys=my_dict.keys()
for key in keys:
    print(f"字典的key是:{key}")
    print(f"字典的value是:{my_dict[key]}")#用key对应的方法去取value

#遍历字典,通过key去取value,方式2:直接对字典进行for循环,每一次循环都是直接得到key
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
for key in my_dict:#直接对字典进行取出
    print(f"字典的key是:{key}")
    print(f"字典的value是:{my_dict[key]}")

两者效果一样。但是注意:字典不支持用下标索引,所以不能用while循环

统计字典内的元素数量len()

#统计字典内的元素数量,len()函数
my_dict={"周结论":99,"林俊杰":88,"张学友":77}
num=len(my_dict)
print(f"字典中的元素数量有:{num}个")

字典常用操作总结

字典的特点

字典课后练习题–升职加薪

"""
演示字典的课后练习,升职加薪,对所有级别为1的员工,级别上升1级,工资增加1000
"""
#组织字典记录数据
info_dict={
    "王力宏":{
        "部门":"科技部",
        "工资":3000,
        "级别":1
    },
    "周杰伦":{
        "部门":"市场部",
        "工资":5000,
        "级别":2
    },
    "林俊杰":{
        "部门":"市场部",
        "工资":7000,
        "级别":3
           },
    "张学友":{
        "部门":"科技部",
        "工资":4000,
        "级别":1
    },
    "刘德华":{
        "部门":"市场部",
        "工资":6000,
        "级别":2
    }
}
print(f"在员工升职加薪之前的结果是:{info_dict}")
#for循环遍历字典
for name in info_dict:
    #if条件判断符合条件员工
    if info_dict[name]["级别"]==1:
        #升职加薪操作
        #获取到员工的信息字典
        employee_info_dict=info_dict[name]
        #修改员工的信息字典
        employee_info_dict["级别"]=2#级别+1
        employee_info_dict["工资"]+=1000#工资+1000
        #将员工的信息更新回info_dict
        info_dict[name]=employee_info_dict
#输出结果
print(f"对员工进行升职加薪的结果是:{info_dict}")

级别从1到2,工资从1000升到2000


相关文章
|
6天前
|
Shell Docker Ruby
3.Docker容器的数据卷
3.Docker容器的数据卷
|
6天前
|
JSON 机器人 Linux
Docker_volume(容器和宿主同步数据)
Docker_volume(容器和宿主同步数据)
15 2
|
6天前
|
存储 运维 Docker
Docker从入门到精通:Docker 容器数据卷详解
Docker 数据卷是持久化容器数据的关键机制,允许跨容器或主机共享,即使容器删除数据仍保留。创建数据卷可通过命令行或容器启动时指定,挂载到容器目录以读写。使用 `docker volume` 命令可管理数据卷,适用于持久化存储、数据共享及备份场景。了解和善用数据卷能优化 Docker 应用程序的运维。
24 0
|
6天前
|
容器
06-数据容器拓展-字符串之间的比较
06-数据容器拓展-字符串之间的比较
|
6天前
|
容器
06-数据容器总结,多种类型容器对比
06-数据容器总结,多种类型容器对比
|
6天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作
|
6天前
|
容器
06-数据容器(序列列表-元组-字符串)的切片操作
06-数据容器(序列列表-元组-字符串)的切片操作
|
6天前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
|
6天前
|
容器
06-python数据容器-tuple(元组)
06-python数据容器-tuple(元组)
|
1天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第20天】 在微服务架构日益普及的今天,Docker作为其重要的实现技术之一,承载着大量应用的运行。然而,随之而来的是对于容器健康状态、资源使用情况以及性能指标的监控需求急剧增加。本文旨在探讨构建一个高效且稳定的Docker容器监控体系,不仅涵盖了监控工具的选择与配置,还详细阐述了监控数据的分析与处理流程。通过精心设计的监控策略和实时响应机制,我们能够确保系统的稳定性,并及时发现及处理潜在的问题。

热门文章

最新文章