python学习—字典(Dictionary)
系列文章目录
python学习—列表和元组
python学习—循环语句-控制流
python学习—合并TXT文本文件
python学习—统计嵌套文件夹内的文件数量并建立索引表格
python学习—查找指定目录下的指定类型文件
python学习—年会不能停,游戏抽签抽奖
python学习—合并多个Excel工作簿表格文件
文章目录
- 系列文章目录
- 功能说明
- 1 字典(Dictionary),
- (1) 访问 读取
- (2) 添加 数据
- (3) 删除 数据
- (4) 修改 数据
- (5) 字典不排序 无序
- (6)字典函数(len 、str)
- (7)字典方法(key、value、items、get、pop、update、setdefault、fromkeys)
- 2 字典与列表嵌套
- (1) 列表嵌套列表
- (2) 字典嵌套字典
- (3) 字典嵌套 列表
- (4)列表嵌套 字典
- 4 后记
功能说明
本文简单介绍python中的字典(Dictionary),
字典是python 另一种可变、无序 容器模型,且可存储任意类型对象。
特性:
- 字典的每个键值 key:value 对用冒号 : 分割,
- 每个键值对之间用逗号 , 分割 简单理解 姓名 成绩 是一组键值对
- 键一般是唯一的,如果重复了,最后的一个键值对会替换前面的,值不需要唯一
- 键必须不可变,所以可以用数字,字符串或元组充当,用列表就不行
- 整个字典包括在花括号 {} 中 ,
- 格式如下所示:
scores = {'小明':95,'小红':90,'小刚':90}
python版本为 python3。
1 字典(Dictionary),
(1) 访问 读取
提取 字典提取 靠的是 键key
print(scores['小明']) # 95 标准格式 字典名[字典的键]
print(scores['小红']) # 90 字典名[字典的键]print(scores['小宋']) # KeyError: '小宋' 访问没有的键,报错
(2) 添加 数据
增加标准格式 字典名[键] = 值
scores['小宋'] = 100
print(scores) # {'小明': 95, '小红': 90, '小刚': 90, '小宋': 100}
(3) 删除 数据
删除标准格式 del 字典名[键]
del scores['小刚'] # 删除 小刚 的记录
print(scores) # {'小明': 95, '小红': 90, '小宋': 100}spam = {'color': 'red', 'age': 42}
spam.clear() # 清空字典所有条目
print(spam) # {} 空字典del spam # 删除字典
(4) 修改 数据
如果只需要修改键里面的值,直接对键 赋值
scores['小宋'] = 99
print(scores) # {'小明': 95, '小红': 90, '小宋': 99}
(5) 字典不排序 无序
不像列表,字典中的项是不排序的。因为字典不排序,所以 不能像列表那样切片。
scores001 = {'小明': 95, '小红': 100, '小刚': 90}
scores002 = {'小红': 100, '小刚': 90, '小明': 95}
print(scores001 == scores002) # True 说明 两个字典 完全一致
(6)字典函数(len 、str)
print(len(scores001)) # 3 字典的长度 hhh = str(scores001) # str() 函数将值转化为适于人阅读的形式,以可打印的字符串表示
print(hhh) # {'小明': 95, '小红': 100, '小刚': 90}
print(type(hhh)) # <class 'str'> 字符串
print(type(scores001)) # <class 'dict'> 字典
(7)字典方法(key、value、items、get、pop、update、setdefault、fromkeys)
- key() 字典的键
for k in scores001.keys(): # 循环迭代 键print(k)
# 小明
# 小红
# 小刚
- value() 字典的值
for k in scores001.values(): # 循环迭代 值print(k)
# 95
# 100
# 90
- item() 字典的 键值对
for k in scores001.items(): # 循环迭代 键值对print(k)
# ('小明', 95) # 元组
# ('小红', 100)
# ('小刚', 90)
- ‘键’ in 字典。判断 键 是否在 字典中,返回布尔值
print('小明' in scores001) # True
print('王五' in scores001) # False
- 字典.get(键,default) 返回指定键的值,如果值不在字典中返回default值
print(scores001.get('小刚', '没有这个键')) # 90
print(scores001.get('张三', '没有这个键')) # 没有这个键
- 字典.pop(键,default) 。删除字典给定键 key 所对应的值,返回值为被删除键的值。key值必须给出。 否则,返回default值。
print(scores001.pop('小刚', '没有这个键')) # 90 删除 小刚 这个键值对。这里返回的是 小刚的 值 90
print(scores001) # {'小明': 95, '小红': 100}
print(scores001.pop('小刚', '没有这个键')) # 没有这个键 因为没有 小刚这个键了,所以 返回 default
- 字典.popitem() 。删除字典最后一组键值对。
print(scores001.popitem()) # ('小红', 100) 删除 最后一组键值对。这里返回的是 键值对
print(scores001) # {'小明': 95}
- 字典1.update(字典2) 。把字典dict2 的键/值对 更新到dict1 里。如果有键 重复,则覆盖
scores001.update(scores002) # 用 scores002 更新 scores001
print(scores001) # {'小明': 95, '小红': 100, '小刚': 90}
- 字典.setdefault(key, default=None) 。 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
scores001.setdefault('张三', 60)
print(scores001) # {'小明': 95, '小红': 100, '小刚': 90, '张三': 60}
scores001.setdefault('张三', 80) # 已经有了 键 张三, 故 不添加了
print(scores001) # {'小明': 95, '小红': 100, '小刚': 90, '张三': 60}
- 字典.fromkeys(seq[, value]) 。创建一个新字典,以序列 seq 中元素做字典的键,
- value 为字典所有键对应的初始值,value – 可选参数, 设置键序列(seq)的值,默认为 None
abc = [1, 2, 3]
scores003 = dict(zip(abc,[10,20,30]))
print(scores003) # {1: 10, 2: 20, 3: 30}
scores004 = dict(zip(abc,[40]))
print(scores004) # {1: 40}
- 字典.copy() 返回一个字典的浅复制 浅拷贝
scores006 = scores003.copy()
print(scores006) # {1: 10, 2: 20, 3: 30}
scores003.clear() # 清空
print(scores003) # {}
print(scores006) # {1: 10, 2: 20, 3: 30}
2 字典与列表嵌套
字典经常与列表一起,嵌套使用,在调用的时候有一些特殊格式。
(1) 列表嵌套列表
students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
//提取 小芳
print(students[1][3]) # 小芳 。第一个元素中的第3个元素
//提取 小兰
print(students[1][1]) # 小兰 。第1个元素中的第1个元素
(2) 字典嵌套字典
scores = {'第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},'第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}}
//小芳的成绩
print(scores['第二组']['小芳']) # 88 。键 ‘第二组’的值(字典)中的键 ‘小芳’的 值
//小刚的成绩
print(scores['第一组']['小刚']) # 100 。键 ‘第一组’的值(字典)中的键 ‘小刚’的 值
(3) 字典嵌套 列表
students = {'第一组':['小明','小红','小刚','小美'],'第二组':['小强','小兰','小伟','小芳']}
//提取 小美
print(students['第一组'][3]) # 小美 。键 '第一组'的值 (列表)中对应列表偏移量为3的元素
(4)列表嵌套 字典
scores = [{'小明':95,'小红':90,'小刚':100,'小美':85},{'小强':99,'小兰':89,'小伟':93,'小芳':88}]
//提取 小强的成绩
print(scores[1]['小强']) # 99。索引 1 的元素(字典)中键为 ‘小强’的值value。
4 后记
字典是Python中非常灵活且常用的数据结构,适用于需要快速根据标识(键)查找对应信息(值)的场景。
相关文章:
python学习—字典(Dictionary)
系列文章目录 python学习—列表和元组 python学习—循环语句-控制流 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—合并多个Ex…...
鸿蒙开发:【组件启动规则(FA模型)】
组件启动规则(FA模型) 启动组件是指一切启动或连接应用组件的行为: 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbili…...
网络编程5----初识http
1.1 请求和响应的格式 http协议和前边学过的传输层、网络层协议不同,它是“一问一答”形式的,所以要分为请求和响应两部分看待,同时,请求和响应的格式是不同的,我们来具体介绍一下。 1.1.1 请求 在介绍请求之前&…...
“用友审批+民生付款”,YonSuite让企业发薪更准时
随着现代企业经营模式的不断创新和市场竞争的加剧,企业薪资管理和发放的效率、准确性和及时性已成为企业管理的重要一环。然而,在实际操作中,许多企业面临着薪资管理复杂、发放流程繁琐、数据不准确等难点和痛点。为了解决这些问题࿰…...
EtherCAT扫盲,都是知识点
1. 什么是EtherCAT EtherCAT,全称Ethernet for Control Automation Technology,字面意思就是用于控制自动化技术的以太网。它是一种基于以太网的实时工业通信协议,简单说,就是让机器们通过网线互相聊天的高级方式。 EtherCAT 是最…...
开发中遇到的错误 - @SpringBootTest 注解爆红
我在使用 SpringBootTest 注解的时候爆红了,ait 回车也导不了包,后面发现是因为没有加依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>…...
数据仓库的实际应用示例-广告投放平台为例
数据仓库的数据分层通常包括以下几层: ODS层:存放原始数据,如日志数据和结构化数据。DWD层:进行数据清洗、脱敏、维度退化和格式转换。DWS层:用于宽表聚合值和主题加工。ADS层:面向业务定制的应用数据层。…...
Beyond VL了解学习
Beyond VL:多模态处理的前沿 在今天的数据驱动时代,我们经常需要处理和分析多种类型的数据,例如文本、图像、视频和音频。Beyond VL 是一个先进的多模态模型,专为处理这些多种数据而设计。它能够同时处理多种模态的数据ÿ…...
AI音乐革命:创意产业的新篇章
随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛,特别是在音乐产业中,AI音乐大模型的涌现,正在重新定义音乐创作的边界。最近一个月,随着多个音乐大模型的轮番上线,素人…...
python从入门到精通1:注释
在Python编程中,注释是一种非常重要的工具,它不仅可以帮助我们记录代码的目的、工作方式以及任何需要注意的地方,还可以使代码更具可读性。Python提供了两种主要的注释方式:单行注释和多行注释。下面我们将深入探讨这两种注释方式…...
CountDownLatch(应对并发问题的工具类)
CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作以后,再执行当前线程;比如我们在主线程需要开启2个其他线程,当其他的线程执行完毕以后我们再去执行主线程,针对这 个需求我们就可以使用CountDownLatch来进…...
HarmonyOS开发知识 :扩展修饰器,实现节流、防抖、权限申请
引言 防重复点击,利用装饰器面向切面(AOP)的特性结合闭包,实现节流、防抖和封装权限申请。 节流 节流是忽略操作,在触发事件时,立即执行目标操作,如果在指定的时间区间内再次触发了事件&…...
自然语言NLP的基础处理
NLP基本处理从句子的情感分析、实体与实体直接的关系,句子结构来分析 情感分析 1.句子的情感分析找出句子表达的是正面、负面还是中性的情感。 情感分析的影响因素: 词语顺序:词语的顺序可以影响句子的整体情感。例如,“我喜欢…...
带颜色的3D点云数据发布到ros1中(通过rviz显示)python、C++
ros中发布点云数据xyz以及带颜色的点云数据xyzrgb ros中发布点云数据xyz可以直接用python来做或者C(看个人偏好) ros中发布带颜色的点云数据xyzrgb环境1.新建ROS工作空间2.创建功能包 ros中发布点云数据xyz 可以直接用python来做或者C(看个人偏好) 在这里我们带有颜色的点云数…...
python学习—列表和元组
系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 文章目…...
c++题目_水仙花数
水仙花数-普及-题目-ACGO题库 题目描述 求100-n中的水仙花数。一个数x,x的百位、十位、个位,分别用a、b、c来表示; 当a * a * a b * b * b c * c * c x时,x就被称为水仙花数。(n< 999) 输入格式 一行一个整数n 输出格式…...
使用 Iceberg、Tabular 和 MinIO 构建现代数据架构
现代数据环境需要一种新型的基础架构,即无缝集成结构化和非结构化数据、轻松扩展并支持高效的 AI/ML 工作负载的基础架构。这就是现代数据湖的用武之地,它为您的所有数据需求提供了一个中心枢纽。然而,构建和管理有效的数据湖可能很复杂。 这…...
jnp.linalg.norm
jnp.linalg.norm 是 JAX 中用于计算向量或矩阵的范数的函数。JAX 是一个用于高性能机器学习研究的 Python 库,它提供了与 NumPy 类似的 API,但支持自动微分和加速计算。jnp 是 JAX 的 NumPy 接口。 jnp.linalg.norm 的基本语法 jnp.linalg.norm(x, ord…...
20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具
20240621在飞凌的OK3588-C开发板中打开i2ctool工具 2024/6/21 17:44 默认继承的i2c工具: rootrk3588-buildroot:/# rootrk3588-buildroot:/# i2c i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer rootrk3588-…...
ARM32开发--存储器介绍
知不足而奋进 望远山而前行 目录 文章目录 前言 存储器分类 RAM ROM EEPROM Flash 总结 前言 在现代计算机系统中,存储器扮演着至关重要的角色,不仅影响着数据的存取速度和稳定性,还直接关系到计算机系统的性能和应用场景的选择。存…...
Web服务器
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 当在浏览器输入URL后,浏览器会先请求DNS服务器,获得请求站点的 IP 地址(即根据URL地址“www.mingrisoft.com”获取…...
大语言模型-Transformer
目录 1.概述 2.作用 3.诞生背景 4.历史版本 5.优缺点 5.1.优点 5.2.缺点 6.如何使用 7.应用场景 7.1.十大应用场景 7.2.聊天机器人 8.Python示例 9.总结 1.概述 大语言模型-Transformer是一种基于自注意力机制(self-attention)的深度学习…...
POI:接收上传上来的excel,解析并导入到数据库
目录 1、控制层 2、业务层(主要逻辑) 1、控制层 因为前端设置了只能上传1个文件,这里直接取一个。 RequestMapping(value "/shebeiDaoru.ctrl", method RequestMethod.POST, produces "application/json;charsetUTF-8&q…...
网页的CSS和JavaScript文件没有自动更新, 解决办法
项目场景: 无人值守的场馆预定以及管理 问题描述 更新了CSS和JavaScript,访问始终样式不对 原因分析: 浏览器缓存了你的CSS和JavaScript文件 浏览器缓存了你的CSS和JavaScript文件。当文件的修改时间戳(last-modifiedÿ…...
Go语言 获取服务器资源磁盘Disk情况
1、获取整个磁盘的总量、已使用量、使用率 package mainimport ("fmt""github.com/shirou/gopsutil/disk""log" )func main() {// 获取所有挂载点的磁盘使用率信息partitions, err : disk.Partitions(false)if err ! nil {log.Fatalf("Err…...
使用上海云盾 CDN 和 CloudFlare 后 Nginx、 WordPress、 Typecho 获取访客真实 IP 方法
最近因为被 DDoS/CC 攻击的厉害,明月就临时的迁移了服务器,原来的服务器就空置下来了,让明月有时间对服务器进行了重置重新部署安装生产环境。因为站点同时使用了上海云盾和 CloudFlare(具体思路可以参考【国内网站使用国外 CloudFlare CDN 的思路分享】一文)两个 CDN 服务…...
深入探究RTOS的任务调度
阅读引言: 此文将会从一个工程文件, 一步一步的分析RTOS的任务调度实现, 这里选用FreeRTOS分析, 别的也差不多的, 可能在细节上有少许不一样。 目录 1, 常见嵌入式实时操作系统 2, 任务调度的…...
【shell脚本速成】函数
文章目录 一、函数1.1、函数介绍1.2、函数定义1.3、函数调用 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻…...
拒绝零散碎片, 一文理清MySQL的各种锁
系列文章目录 学习MySQL先有全局观,细说其发展历程及特点 Mysql常用操作,谈谈排序与分页 拒绝零散碎片, 一文理清MySQL的各种锁(收藏向) 系列文章目录一、MySQL的锁指什么二、排他与共享三、全局锁(Global…...
P5711 【深基3.例3】闰年判断
1. 题目链接 https://www.luogu.com.cn/problem/P5711 P5711 【深基3.例3】闰年判断 2. 题目描述 题目描述:判断一个数是否是闰年 输入:输入一个整数n 输出:输出1或0,如果是闰年,输出1,否则输出0 3. 我的…...
企业网站建设套餐/搜索引擎关键词优化
目录 0. 相关文章链接 1. 如何确定 FE 进程启动成功 2. 如何确定 BE 进程启动成功 3. 搭建系统后,如何确定 FE、BE 连通性正常 4. Doris 各节点认证机制 5. BE 进程文件句柄数 0. 相关文章链接 数据库 文章汇总 1. 如何确定 FE 进程启动成功 FE 进程启动后…...
asp.net网站加速/小程序拉新推广平台
/**这个例子要实现向已有的数据库中插入一条数据。*/importjava.sql.*;importorg.omg.CORBA.portable.Streamable;importcom.mysql.jdbc.Statement;publicclassTestDML{publicstaticvo.../** 这个例子要实现向已有的数据库中插入一条数据。*/import java.sql.*;import org.omg.…...
现在做网站用什么软件/企业网站建设的重要性
英文原文:Inside NGINX: How We Designed for Performance & Scale 为了更好地理解设计,你需要了解NGINX是如何工作的。NGINX之所以能在性能上如此优越,是由于其背后的设计。许多web服务器和应用服务器使用简单的线程的(thre…...
潍坊网站建设套餐/品牌全案营销策划
例题27 王子和公主(Prince and Princess, UVa 10635) 有两个长度分别为p+1和q+1的序列, 每个序列中的各个元素互不 相同, 且都是1~n2之间的整数。 两个序列的第一个元素均为1。 求出A和 B的最长公共子序列长度。 【输入格式】 输入的第一行为数据组数T(T≤10) 。 每组…...
网站建设及推广好学习吗/百度竞价排名正确解释
众所周知,Jquery是对JavaScript的一种高效的封装,所以Jquery要操作的数组即是JavaScript中的数组,在 JavaScript中我们使用for以及for-in进行数组的操作,而在Jquery中则使用$.map()、$.each()来操作数组: 首先是普通的…...
wordpress 特色照片/中国时事新闻网
矩阵的乘方运算与开方运算 在matlab7.0中,可以使用A^p来计算A的p次方,使用sqrtm()来对矩阵开方运算,如果有X*XA,则有sqrtm(A)X; 矩阵的开方运算与乘方运算互为逆运算。 矩阵的指数运算用expm函数来实现,expm(X)V*diag(exp(diag(…...