Python - 数据容器dict(字典)
目录
字典的定义
字典数据的获取
字典的嵌套
字典的各种操作
新增与更新元素 [Key] = Value
删除元素 pop和del
清空字典 clear
获取全部的键 keys
遍历字典
容器通用功能总览
字典的定义
使用{},不过存储的元素是一个个的:键值对,如下语法:

使用{}存储原始,每一个元素是一个键值对
每一个键值对包含Key和Value(用冒号分隔)
键值对之间使用逗号分隔
Key和Value可以是任意类型的数据(key不可为字典)
Key不可重复,重复会对原有数据覆盖
字典不可用下标索引,而是通过Key检索Value
字典数据的获取
字典同集合一样,不可以使用下标索引
字典可以通过Key值来取得对应的Value
my_dict={"A":100,"B":80,"C":60}
print(my_dict["A"])
print(my_dict["B"])
print(my_dict["C"])
100
80
60
字典的嵌套
字典的Key和Value可以是任意数据类型(Key不可为字典) 那么,就表明,字典是可以嵌套的
内容获取类似于二维数组
my_dict = {"sorce":{"A":77,"B":66,"C":33},"level":{"A":88,"B":86,"C":55},"grade":{"A":99,"B":96,"C":66}
}
print(my_dict["sorce"])print(my_dict["sorce"]["A"])print(my_dict["grade"]["C"])
{'A': 77, 'B': 66, 'C': 33}
77
66
字典的各种操作
| 编号 | 操作 | 说明 |
| 1 | 字典[Key] | 获取指定Key对应的Value值 |
| 2 | 字典[Key] = Value | 添加或更新键值对 |
| 3 | 字典.pop(Key) | 取出Key对应的Value并在字典内删除此Key的键值对 |
| 4 | 字典.clear() | 清空字典 |
| 5 | 字典.keys() | 获取字典的全部Key,可用于for循环遍历字典 |
| 6 | len(字典) | 计算字典内的元素数量 |
新增与更新元素 [Key] = Value
语法:字典[Key] = Value,结果:字典被修改,新增了元素
注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值
my_dict={"A":100,"B":80,"C":60}
my_dict["D"]=40#新增加内容
print(my_dict)my_dict["B"]=88#更新已有内容
print(my_dict)
{'A': 100, 'B': 80, 'C': 60, 'D': 40}
{'A': 100, 'B': 88, 'C': 60, 'D': 40}
删除元素 pop和del
语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除
del 字典[key] 为直接删除
my_dict={"A":100,"B":80,"C":60}value=my_dict.pop("A")
print(value)
print(my_dict)del my_dict["B"]
print(my_dict)
100
{'B': 80, 'C': 60}
{'C': 60}
清空字典 clear
语法:字典.clear(),结果:字典被修改,元素被清空
my_dict={"A":100,"B":80,"C":60}my_dict.clear()
print(my_dict)
{}
获取全部的键 keys
语法:字典.keys(),结果:得到字典中的全部Key
my_dict={"A":100,"B":80,"C":60}k=my_dict.keys()
print(k)
print(my_dict)
dict_keys(['A', 'B', 'C'])
{'A': 100, 'B': 80, 'C': 60}
遍历字典
keys()
语法:for key in 字典.keys()
字典不支持下标索引,所以同样不可以用while循环遍历
my_dict={"A":100,"B":80,"C":60}for key in my_dict.keys():print(f"等级:{key},分数:{my_dict[key]}")
等级:A,分数:100
等级:B,分数:80
等级:C,分数:60
values ()
my_dict={"A":100,"B":80,"C":60}for i in my_dict.values():print(i)
100
80
60
items()
my_dict={"A":100,"B":80,"C":60}for i in my_dict.items():print(i)print(type(i))
print(type(my_dict.items()))
('A', 100)
('B', 80)
('C', 60)
<class 'tuple'>
<class 'dict_items'>
利用items依次打印key和value
my_dict={"A":100,"B":80,"C":60}#4.依次打印key和value,通过索引
for key,value in my_dict.items():print(key,value)
A 100
B 80
C 60
容器通用功能总览
| 功能 | 描述 |
| 通用for循环 | 遍历容器(字典是遍历key) |
| max | 容器内最大元素 |
| min() | 容器内最小元素 |
| len() | 容器元素个数 |
| list() | 转换为列表 |
| tuple() | 转换为元组 |
| str() | 转换为字符串 |
| set() | 转换为集合 |
| sorted(序列, [reverse=True]) | 排序,reverse=True表示降序 得到一个排好序的列表 |

相关文章:
Python - 数据容器dict(字典)
目录 字典的定义 字典数据的获取 字典的嵌套 字典的各种操作 新增与更新元素 [Key] Value 删除元素 pop和del 清空字典 clear 获取全部的键 keys 遍历字典 容器通用功能总览 字典的定义 使用{},不过存储的元素是一个个的:键值对&#…...
傻白探索Chiplet,文献阅读笔记汇总(十二)
Summary(方便分类管理) Article(文献出处) 方便再次搜索 Data(文献数据) 总结归纳,方便理解 Comments(对文献的想法)/Why(为什么看这篇文献)强…...
#电子电气架构——Vector工具常见问题解决三板斧
我是穿拖鞋的汉子,魔都中一位坚持长期主义的工科男。 今天在与母亲聊天时,得到老家隔壁邻居一位大姐年初去世的消息,挺让自己感到伤感!岁月如流水,想抓都抓不住。想起平时自己加班的那个程度,可能后续也要自己注意身体啦。 老规矩,分享一段喜欢的文字,避免自己成为高知…...
文本三剑客之grep
Grep是Linux用户用来搜索文本字符串的命令行工具。您可以使用它在文件中搜索某个单词或单词的组合,也可以将其他Linux命令的输出通过管道传输到grep,因此grep可以仅显示您需要查看的输出。grep的命令格式如下:grep 选项 查找条件 目标文件…...
pwn手记录题1
fuzzerinstrospector(首届数字空间安全攻防大赛) 主体流程(相对比较简单,GLibc为常见的2.27版本, Allocate申请函数(其中有两个输入函数Read_8Int、Read_context; 还存在着后门函数; 关键点在于如何利用…...
自动驾驶规划 - Apollo Lattice Planner算法【1】
文章目录Lattice Planner简介Lattice Planner 算法思路1. 离散化参考线的点2. 在参考线上计算匹配点3. 根据匹配点,计算Frenet坐标系的S-L值4. parse the decision and get the planning target5. 生成横纵向采样路径6. 轨迹cost值计算,进行碰撞检测7. 优…...
以太坊数据开发-Web3.py-安装连接以太坊数据
Web3.py是连接以太坊的python库,它的API从web3.js中派生而来。如果你用过web3.js,你会对它的API很熟悉。但惭愧的是,作为一个以太坊上Dapp的开发者,我几乎没有直接使用过web3.js,也没有看过它的API。 官网:…...
【触摸屏功能测试】MQTT_STD本地调试说明-测试记录
1、MQTT简介 MQTT是一种基于发布/订阅模式的“轻量级”通讯协议。它是针对受限的、低带宽的、高延迟的、网络不可靠的环境下的网络通讯设备设计的。 发布是指客户端将消息传递给服务器,订阅是指客户端接收服务器推送的消息。每个消息有一个主题,包含若干…...
六十分之十三——黎明前
目录一、目标二、计划三、完成情况四、提升改进(最少3点)五、意外之喜(最少2点)六、总结一、目标 明确可落地,对于自身执行完成需要一定的努力才可以完成的 1.8本技术管理书籍阅读(使用番茄、快速阅读、最后输出思维导图)2.吴军系列硅谷来信1听书、香帅的北大金融…...
【Call for papers】CRYPTO-2023(CCF-A/网络与信息安全/2023年2月16日截稿)
Crypto 2023 will take place in Santa Barbara, USA on August 19-24, 2023. Crypto 2023 is organized by the International Association for Cryptologic Research (IACR). The proceedings will be published by Springer in the LNCS series. 文章目录1.会议信息2.时间节…...
线程的信号量和互斥量
文章目录线程的信号量初始化信号量:sem_init减少信号量:sem_wait增加信号量:sem_post删除信号量:sem_destroy代码示例线程的互斥量初始化互斥量:pthread_mutex_init锁住互斥量:pthread_mutex_lock解锁互斥量…...
关于Linux,开源社区与国产化的本质区别
因为生产力驱动而非理想主义驱动。 开源运动的蓬勃发展来自于GNU(GNU is not unix),RichardMatthewStallman领导着一群黑客,带着对比尔盖茨的鄙视,制定了GPL协议,以后人人都能从伟大的前人身上学习到源代码的精髓,让软…...
Win11下Linux子系统迁移方法及报错解决
Win11 将Linux子系统从C盘迁移到其他盘Win11下Linux子系统迁移方法及报错解决1、下载LxRunOffline2、ERROR:directory is not empty 报错解决参考链接Win11下Linux子系统迁移方法及报错解决 C盘满了,Ubuntu子系统占了100多G怎么办?直接将子系…...
python维护的一些基础方法
1】通过命令行查看python安装库的基本信息 pip show numpy # 查看python中numpy库的安装版本信息 2】python 环境的开发与维护 python的开发与C\MATLAB等最大的不同就是,python中版本的更新不对历史版本负责,就是说你以历史版本开发的python程序&#…...
C语言 数组元素的指针
1.一个变量有地址,一个数组包含若干个元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。 2.指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放入一个指针变量中)。 3.所谓…...
(C语言)指针进阶
问:1. ( ),[ ],->,,--,. ,*的操作符优先级是怎么样的?2. Solve the problems:只有一个常量字符串与一个字符指针,该怎么打印常量字符串所有内容…...
DS期末复习卷(三)
选择题 某数据结构的二元组形式表示为A(D,R),D{01,02,03,04,05,06,07,08,09},R{r},r{<01,02>,<01&a…...
Java链表模拟实现+LinkedList介绍
文章目录一、模拟实现单链表成员属性成员方法0,构造方法1,addFirst——头插2,addLast——尾插3,addIndex——在任意位置插入3.1,checkIndex——判断index合法性3.2,findPrevIndex——找到index-1位置的结点…...
MySQL——单表、多表查询
一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varcha…...
关于表的操作 数据库(3)
目录 前期准备工作: 一、单表查询: 二、多表查询: 前期准备工作: 修改数据库的配置文件,,使其可以显示库名,其中//d代表当前使用的数据库名 注:vim /etc/my.cnf.d/mysql-server.c…...
从“抄答案”到“会解题”:我是如何利用头歌实训平台,真正掌握Python数据分析的?
从“抄答案”到“会解题”:我的Python数据分析思维进阶之路 记得第一次打开头歌实训平台的Python数据分析题目时,我像大多数初学者一样,迫不及待地寻找"正确答案"。复制、粘贴、运行——看到绿色通过提示的瞬间,以为自己…...
解锁智能告警管理:Keep开源AIOps平台从零到生产实战指南
解锁智能告警管理:Keep开源AIOps平台从零到生产实战指南 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在当今复杂的云原生环境中,运维团队每天都要面对海…...
一、NodeMCU-32S核心功能与上手场景解析
1. NodeMCU-32S开发板的核心特性解析 第一次拿到NodeMCU-32S这块开发板时,我就被它小巧的尺寸和丰富的接口吸引了。作为基于ESP32芯片设计的开发板,它最大的亮点就是双核处理器和Wi-Fi/蓝牙双模无线功能。这两个特性让它在物联网项目中特别吃香ÿ…...
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践 HWASan(Hardware-assisted AddressSanitizer)是面向 AArch64 的一类 Native(C/C)内存错误检测机制:利用指针与内存区域上的 短标签(T…...
010 传感器与数据采集基础:从模拟到数字
010 传感器与数据采集基础:从模拟到数字 一个让我熬夜到凌晨三点的ADC问题 去年做的一个工业振动监测项目,传感器输出0-5V模拟信号,STM32F4内置ADC采集,理论上12位分辨率,4096个码值对应0-3.3V。结果数据一出来,波形像被狗啃过——毛刺、跳变、偶尔还出现负值。用示波器…...
云音乐歌词获取神器:一键下载网易云与QQ音乐高品质LRC歌词
云音乐歌词获取神器:一键下载网易云与QQ音乐高品质LRC歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为寻找准确的音乐歌词而烦恼吗?这款…...
国产化服务器运维笔记:手把手搞定MariaDB/PostgreSQL(瀚高)服务启停、远程连接与基础排查
国产化环境数据库运维实战:MariaDB与瀚高数据库深度管理指南 在信息技术应用创新背景下,国产服务器与开源数据库的组合已成为企业基础架构的重要选择。面对复杂的生产环境,掌握数据库服务的精细化管理能力,是每位运维工程师的必备…...
爱快路由器下搞定水星AC跨三层管理AP:一个Option字段引发的抓包实战
爱快路由器下搞定水星AC跨三层管理AP:一个Option字段引发的抓包实战 当企业网络规模扩大,跨三层管理无线AP成为刚需。最近在帮客户部署水星(Mercury)无线AC控制器时,遇到了一个看似简单却耗费数小时才解决的"坑&q…...
别再折腾路由器了!用Go语言给阿里云/腾讯云域名写个DDNS服务(附完整代码)
用Go语言打造高可靠DDNS服务:从阿里云到腾讯云的完整实践 每次重启光猫后,公网IP地址就像捉迷藏一样消失不见——这种烦恼对于需要远程访问家庭NAS或自建服务器的技术爱好者来说再熟悉不过了。市面上的第三方DDNS工具要么功能臃肿,要么存在隐…...
CANN/asc-devkit NodeIoNum API文档
NodeIoNum 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...
