当前位置: 首页 > news >正文

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 遍历字典 容器通用功能总览 字典的定义 使用{}&#xff0c;不过存储的元素是一个个的&#xff1a;键值对&#…...

傻白探索Chiplet,文献阅读笔记汇总(十二)

Summary&#xff08;方便分类管理&#xff09; Article&#xff08;文献出处&#xff09; 方便再次搜索 Data&#xff08;文献数据&#xff09; 总结归纳&#xff0c;方便理解 Comments&#xff08;对文献的想法&#xff09;/Why&#xff08;为什么看这篇文献&#xff09;强…...

#电子电气架构——Vector工具常见问题解决三板斧

我是穿拖鞋的汉子,魔都中一位坚持长期主义的工科男。 今天在与母亲聊天时,得到老家隔壁邻居一位大姐年初去世的消息,挺让自己感到伤感!岁月如流水,想抓都抓不住。想起平时自己加班的那个程度,可能后续也要自己注意身体啦。 老规矩,分享一段喜欢的文字,避免自己成为高知…...

文本三剑客之grep

Grep是Linux用户用来搜索文本字符串的命令行工具。您可以使用它在文件中搜索某个单词或单词的组合&#xff0c;也可以将其他Linux命令的输出通过管道传输到grep&#xff0c;因此grep可以仅显示您需要查看的输出。grep的命令格式如下&#xff1a;grep 选项 查找条件 目标文件…...

pwn手记录题1

fuzzerinstrospector(首届数字空间安全攻防大赛) 主体流程&#xff08;相对比较简单&#xff0c;GLibc为常见的2.27版本&#xff0c; Allocate申请函数&#xff08;其中有两个输入函数Read_8Int、Read_context&#xff1b; 还存在着后门函数&#xff1b; 关键点在于如何利用…...

自动驾驶规划 - Apollo Lattice Planner算法【1】

文章目录Lattice Planner简介Lattice Planner 算法思路1. 离散化参考线的点2. 在参考线上计算匹配点3. 根据匹配点&#xff0c;计算Frenet坐标系的S-L值4. parse the decision and get the planning target5. 生成横纵向采样路径6. 轨迹cost值计算&#xff0c;进行碰撞检测7. 优…...

以太坊数据开发-Web3.py-安装连接以太坊数据

Web3.py是连接以太坊的python库&#xff0c;它的API从web3.js中派生而来。如果你用过web3.js&#xff0c;你会对它的API很熟悉。但惭愧的是&#xff0c;作为一个以太坊上Dapp的开发者&#xff0c;我几乎没有直接使用过web3.js&#xff0c;也没有看过它的API。 官网&#xff1a…...

【触摸屏功能测试】MQTT_STD本地调试说明-测试记录

1、MQTT简介 MQTT是一种基于发布/订阅模式的“轻量级”通讯协议。它是针对受限的、低带宽的、高延迟的、网络不可靠的环境下的网络通讯设备设计的。 发布是指客户端将消息传递给服务器&#xff0c;订阅是指客户端接收服务器推送的消息。每个消息有一个主题&#xff0c;包含若干…...

六十分之十三——黎明前

目录一、目标二、计划三、完成情况四、提升改进(最少3点)五、意外之喜(最少2点)六、总结一、目标 明确可落地&#xff0c;对于自身执行完成需要一定的努力才可以完成的 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.时间节…...

线程的信号量和互斥量

文章目录线程的信号量初始化信号量&#xff1a;sem_init减少信号量&#xff1a;sem_wait增加信号量&#xff1a;sem_post删除信号量&#xff1a;sem_destroy代码示例线程的互斥量初始化互斥量&#xff1a;pthread_mutex_init锁住互斥量&#xff1a;pthread_mutex_lock解锁互斥量…...

关于Linux,开源社区与国产化的本质区别

因为生产力驱动而非理想主义驱动。 开源运动的蓬勃发展来自于GNU(GNU is not unix)&#xff0c;RichardMatthewStallman领导着一群黑客&#xff0c;带着对比尔盖茨的鄙视&#xff0c;制定了GPL协议&#xff0c;以后人人都能从伟大的前人身上学习到源代码的精髓&#xff0c;让软…...

Win11下Linux子系统迁移方法及报错解决

Win11 将Linux子系统从C盘迁移到其他盘Win11下Linux子系统迁移方法及报错解决1、下载LxRunOffline2、ERROR&#xff1a;directory is not empty 报错解决参考链接Win11下Linux子系统迁移方法及报错解决 C盘满了&#xff0c;Ubuntu子系统占了100多G怎么办&#xff1f;直接将子系…...

python维护的一些基础方法

1】通过命令行查看python安装库的基本信息 pip show numpy # 查看python中numpy库的安装版本信息 2】python 环境的开发与维护 python的开发与C\MATLAB等最大的不同就是&#xff0c;python中版本的更新不对历史版本负责&#xff0c;就是说你以历史版本开发的python程序&#…...

C语言 数组元素的指针

1.一个变量有地址&#xff0c;一个数组包含若干个元素&#xff0c;每个数组元素都在内存中占用存储单元&#xff0c;它们都有相应的地址。 2.指针变量既然可以指向变量&#xff0c;当然也可以指向数组元素&#xff08;把某一元素的地址放入一个指针变量中&#xff09;。 3.所谓…...

(C语言)指针进阶

问&#xff1a;1. ( )&#xff0c;[ ]&#xff0c;->&#xff0c;&#xff0c;--&#xff0c;. &#xff0c;&#xff0a;的操作符优先级是怎么样的&#xff1f;2. Solve the problems&#xff1a;只有一个常量字符串与一个字符指针&#xff0c;该怎么打印常量字符串所有内容…...

DS期末复习卷(三)

选择题 某数据结构的二元组形式表示为A(D&#xff0c;R)&#xff0c;D{01&#xff0c;02&#xff0c;03&#xff0c;04&#xff0c;05&#xff0c;06&#xff0c;07&#xff0c;08&#xff0c;09}&#xff0c;R{r}&#xff0c;r{<01&#xff0c;02>&#xff0c;<01&a…...

Java链表模拟实现+LinkedList介绍

文章目录一、模拟实现单链表成员属性成员方法0&#xff0c;构造方法1&#xff0c;addFirst——头插2&#xff0c;addLast——尾插3&#xff0c;addIndex——在任意位置插入3.1&#xff0c;checkIndex——判断index合法性3.2&#xff0c;findPrevIndex——找到index-1位置的结点…...

MySQL——单表、多表查询

一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varcha…...

关于表的操作 数据库(3)

目录 前期准备工作&#xff1a; 一、单表查询&#xff1a; 二、多表查询&#xff1a; 前期准备工作&#xff1a; 修改数据库的配置文件&#xff0c;&#xff0c;使其可以显示库名&#xff0c;其中//d代表当前使用的数据库名 注&#xff1a;vim /etc/my.cnf.d/mysql-server.c…...

从“抄答案”到“会解题”:我是如何利用头歌实训平台,真正掌握Python数据分析的?

从“抄答案”到“会解题”&#xff1a;我的Python数据分析思维进阶之路 记得第一次打开头歌实训平台的Python数据分析题目时&#xff0c;我像大多数初学者一样&#xff0c;迫不及待地寻找"正确答案"。复制、粘贴、运行——看到绿色通过提示的瞬间&#xff0c;以为自己…...

解锁智能告警管理:Keep开源AIOps平台从零到生产实战指南

解锁智能告警管理&#xff1a;Keep开源AIOps平台从零到生产实战指南 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在当今复杂的云原生环境中&#xff0c;运维团队每天都要面对海…...

一、NodeMCU-32S核心功能与上手场景解析

1. NodeMCU-32S开发板的核心特性解析 第一次拿到NodeMCU-32S这块开发板时&#xff0c;我就被它小巧的尺寸和丰富的接口吸引了。作为基于ESP32芯片设计的开发板&#xff0c;它最大的亮点就是双核处理器和Wi-Fi/蓝牙双模无线功能。这两个特性让它在物联网项目中特别吃香&#xff…...

Android HWASan 详解:硬件标记原理、Clang 启用与排障实践

Android HWASan 详解&#xff1a;硬件标记原理、Clang 启用与排障实践 HWASan&#xff08;Hardware-assisted AddressSanitizer&#xff09;是面向 AArch64 的一类 Native&#xff08;C/C&#xff09;内存错误检测机制&#xff1a;利用指针与内存区域上的 短标签&#xff08;T…...

010 传感器与数据采集基础:从模拟到数字

010 传感器与数据采集基础:从模拟到数字 一个让我熬夜到凌晨三点的ADC问题 去年做的一个工业振动监测项目,传感器输出0-5V模拟信号,STM32F4内置ADC采集,理论上12位分辨率,4096个码值对应0-3.3V。结果数据一出来,波形像被狗啃过——毛刺、跳变、偶尔还出现负值。用示波器…...

云音乐歌词获取神器:一键下载网易云与QQ音乐高品质LRC歌词

云音乐歌词获取神器&#xff1a;一键下载网易云与QQ音乐高品质LRC歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为寻找准确的音乐歌词而烦恼吗&#xff1f;这款…...

国产化服务器运维笔记:手把手搞定MariaDB/PostgreSQL(瀚高)服务启停、远程连接与基础排查

国产化环境数据库运维实战&#xff1a;MariaDB与瀚高数据库深度管理指南 在信息技术应用创新背景下&#xff0c;国产服务器与开源数据库的组合已成为企业基础架构的重要选择。面对复杂的生产环境&#xff0c;掌握数据库服务的精细化管理能力&#xff0c;是每位运维工程师的必备…...

爱快路由器下搞定水星AC跨三层管理AP:一个Option字段引发的抓包实战

爱快路由器下搞定水星AC跨三层管理AP&#xff1a;一个Option字段引发的抓包实战 当企业网络规模扩大&#xff0c;跨三层管理无线AP成为刚需。最近在帮客户部署水星&#xff08;Mercury&#xff09;无线AC控制器时&#xff0c;遇到了一个看似简单却耗费数小时才解决的"坑&q…...

别再折腾路由器了!用Go语言给阿里云/腾讯云域名写个DDNS服务(附完整代码)

用Go语言打造高可靠DDNS服务&#xff1a;从阿里云到腾讯云的完整实践 每次重启光猫后&#xff0c;公网IP地址就像捉迷藏一样消失不见——这种烦恼对于需要远程访问家庭NAS或自建服务器的技术爱好者来说再熟悉不过了。市面上的第三方DDNS工具要么功能臃肿&#xff0c;要么存在隐…...

CANN/asc-devkit NodeIoNum API文档

NodeIoNum 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...