python中的字典详解
创始人
2024-04-24 22:38:51
0

目录

一.思考

二.字典定义

 注意

三.字典数据的获取

 注意

 字典的嵌套

 四.字典常用操作

1.新增、更新元素

2.删除元素

3.清空字典

4.获取全部Key

5.利用Key遍历字典

 五.字典总结

六.字典实例


 

一.思考

为什么需要字典?

 生活中的字典我们可以根据【字】来找到对应的【含义】

python中的字典也是同理,不过叫法不同,在python中就是[Key]去找对应的[Value]

 比如说,我这里有一份名单,记录的是姓名和成绩:
 

姓名        

成绩
张三        76
李四87
王五90

现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。

这个时候,用字典最适合

{"张三":76,"李四":87,"王五":90
}

这样就可以通过Key (姓名),取到对应的Value(成绩)

二.字典定义

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

#定义字典字面量
{key:value,key:value,key:value,.....,key:value}
my_dict = {key:value,key:value,key:value,.....,key:value}
#定义空字典两种方法
my_dict = {}
my_dict = dict()
#定义字典字面量
{"张三":76,"李四":87,"王五":90}
my_dict = {"张三":76,"李四":87,"王五":90}
#定义空字典两种方法
my_dict2 = {}
my_dict3 = dict()
print(f"字典1的内容是{my_dict},类型为{type(my_dict)}")
print(f"字典1的内容是{my_dict2},类型为{type(my_dict2)}")
print(f"字典1的内容是{my_dict3},类型为{type(my_dict3)}")

运行结果是

 注意

如果字典中的关键字重复,那么只会输出最后一次结果,如图

三.字典数据的获取

字典同集合一样,不可以使用下标索引
但是字典可以通过Key值来取得对应的Value

 注意

只能由Key找到对应的Value

 字典的嵌套

字典的Key和value可以是任意数据类型( Key不可为字典)
那么,就表明,字典是可以嵌套的

需求如下:记录学生各科的考试信息
 

姓名语文数学英语
张三875687
李四678698
王五776860

代码如下

my_dict = {"张三":{"语文":87,"数学":56,"英语":87},"李四":{"语文": 67,"数学": 86,"英语": 98},"王五":{"语文": 77,"数学": 68,"英语": 60}}
print(f'王五的信息是:{my_dict["王五"]}')
print(f"所有信息是:{my_dict}")
print(my_dict["张三"]["语文"])
print(my_dict["张三"]["数学"])
print(my_dict["张三"]["英语"])
Lisi_yingyu = my_dict["李四"]["英语"]
print(f"李四的英语是:{Lisi_yingyu}")

结果是

 四.字典常用操作

  • 新增元素
  • 更新元素
  • 删除元素
  • 清空字典
  • 获取全部Key
  • 利用Key遍历字典

1.新增、更新元素

语法:字典[Key]= Value,结果:字典被修改,元素被更新

my_dict = {"张三":76,"李四":87,"王五":90
}
my_dict["赵四"]=75
print(f"添加赵四之后为:{my_dict}")
my_dict["张三"]=98
print(f"更新张三之后为:{my_dict}")

结果是

2.删除元素

语法:字典.pop(Key),结果:获得指定Key的value,同时字典被修改,指定Key的数据被删除

 

3.清空字典

语法:字典.clear(),结果:字典被修改,元素被清空

4.获取全部Key

语法:字典.keys()
结果:得到字典中的全部key 

5.利用Key遍历字典

my_dict = {"张三":76,"李四":87,"王五":90
}
print(f"字典中的所有key为:{my_dict.keys()}")
for name in my_dict.keys():print(f"字典的key是:{name},其value是:{my_dict[name]}")

 结果是

 

 五.字典总结

  1. 可以容纳多个数据
  2. 可以容纳不同类型的数据
  3. 每一份数据是KeyValue键值对
  4. 可以通过Key获取到value,Key不可重复(重复会覆盖)
  5. 不支持下标索引
  6. 可以修改(增加或删除更新元素等)
  7. 支持for循环,不支持while循环

六.字典实例

有如下员工信息,请使用字典完成数据的记录。
并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元

姓名部门工资级别
张三科技部30001
李四市场部50002
王五市场部70003
赵四科技部40001
赵六市场部60002

代码

info_dict = {"张三":{"部门":"科技部","工资":3000,"级别":1},"李四":{"部门":"市场部","工资":5000,"级别":2},"王五": {"部门": "市场部","工资": 7000,"级别": 3},"赵四": {"部门": "科技部","工资": 4000,"级别": 1},"赵六": {"部门": "市场部","工资": 6000,"级别": 2}
}
print(f"改变之前的信息为:{info_dict}")
for name in info_dict.keys():if info_dict[name]["级别"]==1:info_dict[name]["级别"]+=1info_dict[name]["工资"]+=1000
print(f"改变之后的信息为:{info_dict}")

结果为

 

 

相关内容

热门资讯

安卓更换别的手机系统,轻松切换... 你有没有想过,你的安卓手机用久了,是不是有点审美疲劳了呢?或者,你最近是不是对其他手机系统产生了浓厚...
安卓系统单机神雕侠侣,指尖重温 你有没有想过,在手机上也能体验一把江湖恩怨、侠骨柔肠?没错,就是那个让人心驰神往的《神雕侠侣》!今天...
安卓系统键盘语言切换,安卓系统... 你有没有发现,手机上的安卓系统键盘语言切换功能,简直就像是个神奇的魔法棒,轻轻一点,就能让文字飞舞在...
oppok1安卓系统,性能与体... 你有没有发现,最近手机圈里又掀起了一股热潮?没错,就是OPPO K1这款新机!这款手机不仅外观时尚,...
安卓系统环境的搭建,从零开始构... 想要在电脑上体验安卓系统的魅力,是不是已经跃跃欲试了呢?别急,今天就来手把手教你如何搭建一个属于自己...
【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...