数据容器-dict以及总结-Python

师从黑马程序员

字典的定义

同样使用{},不过存储的元素是以个个的:键值对,如下语法:

#定义字典
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"字典2的内容是:{my_dict3},类型:{type(my_dict3)}")
#定义重复Key的字典
my_dict1={"周杰伦":99,"周杰伦":88,"林俊杰":77}
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")

注:字典同集合一样,不可以使用下标索引

但是字典可以通过Key值来取得对应的Value

my_dict1={"王力宏":99,"周杰伦":88,"林俊杰":77}
score=my_dict1["王力宏"]
print(f"王力宏的考试分数为:{score}")

 字典嵌套

字典的Key和Value可以是任意数据类型(Key不可为字典),即字典可以嵌套

stu_score_dict={"王力宏":{"语文":77,"数学":66,"英语":33},"周杰伦":{"语文":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}")

删除元素

清空字典

#删除元素
score=my_dict.pop("周杰伦")
print(f"字典中被移除了一个元素,结果:{my_dict},周杰伦的考试分数是:{score}")
#清空元素 clear
my_dict.clear()
print(f"字典被清空了,内容是:{my_dict}")

获取全部的Key

my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
keys=my_dict.keys()
print(f"字典中全部的Key为:{keys}")
#遍历字典
#方式一:通过获取到全部的Key来完成遍历
for key in keys:print(f"字典的key是:{key}")print(f"字典的value是:{my_dict[key]}")#方式二:直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:print(f"2字典的key是:{key}")print(f"2字典的value是:{my_dict[key]}")

统计字典内的元素数量

my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
num=len(my_dict)
print(f"字典中的元素数量有:{num}")

 总结

综合案例:

empl_inf = {"王力宏": {"部门": "科技部","工资": 3000,"级别": 1},"周杰伦": {"部门": "市场部","工资": 5000,"级别": 1},"林俊杰": {"部门": "市场部","工资": 7000,"级别": 3},"张学友": {"部门": "市场部","工资": 4000,"级别": 1},"刘德华": {"部门": "市场部","工资": 6000,"级别": 2}
}
print(f"全体员工信息如下:{empl_inf}")
# 遍历字典并更新符合条件的员工信息
for name in empl_inf:if empl_inf[name]["级别"]==1:employee_empl_inf=empl_inf[name]employee_empl_inf["级别"]+=1employee_empl_inf["工资"]+=1000empl_inf[name]=employee_empl_inf# 输出更新后的员工信息
print(f"全体员工更新后信息如下:{empl_inf}")

数据容器特点对比

数据容器的通用操作

容器的类型转换

容器通用排序功能

my_list=[3,1,2,5,4]
my_tuple=(3,1,2,5,4)
my_str="bdcefga"
my_set={3,1,2,5,4}
my_dict={"key3":1,"key":2,"key2":3,"key5":4,"key4":5}print(f"容器对象排序的结果是:{sorted(my_list)}")#从小到大排序
print(f"容器对象排序的结果是:{sorted(my_tuple)}")
print(f"容器对象排序的结果是:{sorted(my_str)}")
print(f"容器对象排序的结果是:{sorted(my_set)}")
print(f"容器对象排序的结果是:{sorted(my_dict)}")
#排序的结果是列表print(f"容器对象排序的结果是:{sorted(my_list,reverse=True)}")#从大到小排序
print(f"容器对象排序的结果是:{sorted(my_tuple,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_str,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_set,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_dict,reverse=True)}")

总结

若有侵权,请联系作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/568521.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ICC2:postmask eco限制绕线层次

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 做postmask eco常会遇到限制绕线层次的要求 ICC2可以使用set_ignore_layer来限制: set_ignore_layer -min M1 -max M3 set_app_options -name route.common.net_max_layer_mode -value hard set_app_options -na…

常用类五(File类)

目录 File 类的基本用法 File 类的常见构造方法:public File(String pathname) 通过 File 对象可以访问文件的属性 通过 File 对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下) 递归遍历目录结构和树状展现 File 类的基本…

Selenium 自动化 —— 浏览器窗口操作

更多内容请关注我的专栏: 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码 当用 Selenium 打开浏览器后,我们就可以通过 Selenium 对浏览器做各种操作,就像我们日常用鼠标和键盘操作浏览器一…

[计算机效率] 文件搜索工具:Listary(附详细使用教程)

3.5 文件搜索工具:Listary Listary是一款实用的搜索工具,它能为我的电脑(资源管理器)增添许多智能命令,提高用户日常收藏和整理文件的效率。它具备多种实用功能,例如收藏文件夹、快速打开最近浏览的文件夹…

BS系统的登录鉴权流程演变(高级必备)

BS系统的登录鉴权流程演变 1 基础知识1.1 Http Cookie1.2 重定向与前端路由Vue-router1.2.1 后端重定向1.2.2 Vue-router 1.3.JWT简介1.4 Spring-Security1.4.1 过滤器链[24]1.4.3 DelegationFilterProxy的实例化和拦截配置1.4.4 在项目中使用Spring Security1.4.5 用户认证 2.…

Spring Cloud - Openfeign 实现原理分析

OpenFeign简介 OpenFeign 是一个声明式 RESTful 网络请求客户端。OpenFeign 会根据带有注解的函数信息构建出网络请求的模板,在发送网络请求之前,OpenFeign 会将函数的参数值设置到这些请求模板中。虽然 OpenFeign 只能支持基于文本的网络请求,但是它可以极大简化网络请求的…

六西格玛绿带培训:量化进步的关键

在追求卓越的道路上,六西格玛绿带培训成为了一种革命性的思维方式,让我们能够以科学和系统的方法提升过程性能。但在这个追求中,我们如何确定我们的进步?过程能力分析为我们提供了明确的答案。通过计算过程能力,即6σ&…

竞赛 python 爬虫与协同过滤的新闻推荐系统

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python 爬虫与协同过滤的新闻推荐系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&…

python关于字符串基础学习

字符串 python字符串是不可改变的 Python不支持单字符类型,单字符也是作为一个字符串使用的。 字符串编码 python3直接支持Unicode,可以表示世界上任何书面语言的字符 python3的字符默认就是16位Unicode编码,ASCII是Unicode的子集 使用内置函数 ord()…

二十六 超级数据查看器 讲解稿 用输入值批量更新字段

二十六 超级数据查看器 讲解稿 用输入值批量更新字段 ​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 ​ 大家好,今天我们讲一下超级数据查看器的输入更新功能,输入更新功能是将选择的TXT文档的数据&…

【竞技宝】DOTA2-PGL联赛:niu神无解 LGD2-0轻松击败DH

北京时间2024年3月26日,PGL联赛中国区的比赛在昨日正式打响,首日共进行了四场胜者组首轮的比赛,第四场比赛由LGD对阵DH。本场比赛,DH两局都在前中期和LGD有来有回,但niu的中期节奏完全摧毁了DH,最终LGD2-0轻松击败DH。以下是本场比赛的详细战报。 第一局: 首局比赛,LGD在天辉方…

使用Docker Compose一键部署前后端分离项目(图文保姆级教程)

一、安装Docker和docker Compose 1.Docker安装 //下载containerd.io包 yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm //安装依赖项 yum install -y yum-utils device-mapper-persistent-data l…