09、Python 字典入门 及 高级用法

news2025/1/11 11:18:26

目录

  • 字典
  • 创建字典
    • 通过key访问value
    • 添加key-value对
    • 删除key-value对
    • 替换key-value对
  • 判断是否包含指定key
  • dict与列表
  • 字典的常用方法
    • 演示:
  • 用字典格式化字符串

创建字典
操作字典key-value对
理解dict与list的关系
字典常用方法
使用字典格式化字符串

字典

字典用于保存具有映射关系的数据,字典相当于保存了两组数据,其中一组数据是关键数据,被称为key;另一组数据可通过key来访问,被称为value。

字典中key和value的关联关系如下图所示,key不允许重复

在这里插入图片描述

字典(dict) 是可变的,列表也是可变的。
列表的元素可增、删、改,字典中的key-value对也可以增、删、改。

创建字典

两种方式:
花括号法: 花括号应包含多组key-value对,key与value之间用英文冒号隔开;多组key-value对之间用英文逗号隔开
在这里插入图片描述

dict构造器: 可以传入多个列表或元组参数作为key-value对;也可为dict指定关键字参数创建字典,此时字典的key不允许使用表达式

字典的key必须是不可变的,因此列表不能作为dict的key
在这里插入图片描述

通过key访问value

在方括号中放的是key,即可通过key访问value
在这里插入图片描述

添加key-value对

对不存在的key赋值,就是添加key-value对

删除key-value对

使用del语句删除
注意:将指定key赋值为None不能删除key-value对

替换key-value对

对已有key赋值,就会替换该key对应的value

在这里插入图片描述

判断是否包含指定key

使用in、not in可判断dict是否包含指定key

在这里插入图片描述

dict与列表

字典相当于索引是任意不可变类型的列表;而列表则相当于key只能是整数的字典。如果程序中要使用的字典的key都是整数类型,则可考虑是不是能换成列表。

列表的索引总是从0开始、连续增大;但字典的索引即使是整数类型,它也不需要从0开始,也不需要连续。因此列表不允许对不存在的索引赋值;但字典则允许直接对不存在的key赋值——这样就会为字典增加一组key-value对。

字典的常用方法

调用dir(dict) 可查看字典的所有方法

clear() 用于清空字典中所有key-value对

get()方法 其实就是根据key来获取value

update()方法 可使用一个字典所包含的key-value对来更新已有的字典

items()、keys()、values() 分别用于获取字典中所有key-value对,所有key、所有value

pop()方法 用于获取、并删除指定key对应的value。

popitem()方法 用于随机地弹出字典中一个key-value对。

setdefault()方法 也用于根据key来获取对应value的值,并为不存在的key设置默认值

fromkeys()方法 使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。

演示:

clear() 用于清空字典中所有key-value对
在这里插入图片描述
get()方法 其实就是根据key来获取value
在这里插入图片描述
update()方法 可使用一个字典所包含的key-value对来更新已有的字典

可以这样更新
在这里插入图片描述
使用update方法:
在这里插入图片描述

items()、keys()、values() 分别用于获取字典中所有key-value对,所有key、所有value
在这里插入图片描述
可以进行遍历
遍历所有key
在这里插入图片描述
遍历所有value
在这里插入图片描述

遍历所有 key 和 value (就是序列解包)
在这里插入图片描述

pop()方法 用于获取、并删除指定key对应的value。
在这里插入图片描述

popitem()方法 用于随机地弹出字典中一个key-value对。
在这里插入图片描述

setdefault()方法 也用于根据key来获取对应value的值,并为不存在的key设置默认值
在这里插入图片描述

fromkeys()方法 使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。
在这里插入图片描述

用字典格式化字符串

可在字符串模板中按key指定变量,然后通过字典为字符串模板中key设置值。

按顺序来匹配:
这个是用元组来格式化字符串,所以它根据位置来填充"占位符"
在这里插入图片描述

按字典来匹配
这个是用 dict(字典)来格式化字符串,所以它根据 key 来填充"占位符"
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark_SQL函数定义(定义UDF函数、使用窗口函数)

一、UDF函数定义 (1)函数定义 (2)Spark支持定义函数 (3)定义UDF函数 (4)定义返回Array类型的UDF (5)定义返回字典类型的UDF 二、窗口函数 (1&…

用VScode做PPT:marp插件

文章目录 初步认识指令设置图像设置布局设置 初步认识 marp是支持Markdown格式的PPT神器,有了这个就可以敲代码写PPT了。更绝的是,marp提供了VScode插件,故而可以愉快地在VScode中写PPT了。 在VScode扩展商店中搜索marp,安装Mar…

双向电平电压转换器TXS0102DCTR应用电路设计

1、TXS0102简介 TXS0102DCTR是一个2位双向电压电平转换器,主要用途是与数据I/O(例如I2C或1-wire)上的开漏驱动器连接(其中数据是双向的且无可用的控制信号),在混合电压系统之间建立数字开关兼容性。它使用…

Linux系统编程07

线程 为什么有了进程还需要线程 进程切换的时候会花费很大的代价 (1)上下文切换,CPU寄存器需要切换 (2)虚拟地址和物理地址的映射需要切换 进程间通信麻烦 线程是轻量级的进程 (1)线程是一个正…

【设计模式】第4节:创建型模式之“单例模式”

一、介绍 采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 不使用单例模式的UML类图: 使用单例模式的UML类图: 使用场景: 需要频繁创建或销毁的对象…

【密评】商用密码应用安全性评估从业人员考核题库(十二)

商用密码应用安全性评估从业人员考核题库(十二) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 2751 多项选择题 GM/T 0051《 密码设备管理 对称密钥管理技术规范…

倾斜摄影三维模型根节点合并效率提升的技术方法分析

倾斜摄影三维模型根节点合并效率提升的技术方法分析 提高倾斜摄影三维模型根节点合并效率是倾斜摄影领域的重要挑战之一。快速而准确地处理大量数据和复杂的场景需要使用高效的技术方法。本文将探讨几种可以提高倾斜摄影三维模型根节点合并效率的技术方法。 首先,使…

可视化工具Datart踩(避)坑指南(7)——下载的极限

作为目前国内开源版本最好用的可视化工具之一,Datart无疑是低成本高效率可供二开的可视化神兵利器。当然,免费的必然要付出一些踩坑的代价。 本篇我们来讲一讲可视化工具Datart踩(避)坑指南(7)之下载的极限…

大语言模型在天猫AI导购助理项目的实践!

本文主要介绍了Prompt设计、大语言模型SFT和LLM在手机天猫AI导购助理项目应用。 ChatGPT基本原理 “会说话的AI”,“智能体” 简单概括成以下几个步骤: 预处理文本:ChatGPT的输入文本需要进行预处理。 输入编码:ChatGPT将经过预…

Ubuntu22.04(非虚拟机)安装教程(2023最新最详细)

目录 简介 一.下载Ubuntu Server镜像,官方地址下载即可 ​二.安装Ubuntu镜像 简介 Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等…

国产手机性能再次飞升,H公司落后三代,但仍然比不过苹果

国产手机将采用全新的芯片,性能将进一步提升,这是国产手机的又一个重大进步,这次不再挤牙膏,真正为消费者带来性能跃升的手机,让消费者刷视频更流畅,玩游戏也更畅快。 据了解国产手机即将采用的新款芯片骁龙…

EMT4J—— Java 版本迁移检测工具

最近因为工作需要研究了emt4j,这里写一篇文章记录一下。 非专业Java er,有不同意见欢迎评论区分享。 目录 EMT4J是什么? 如何使用? Command-line Java Agent 简单的源码分析 目录分析 规则解析 参考资料 EMT4J是什么&am…

nginx只允许英文名的文件下载,中文名就是找不到文件

本文主要向大家介绍了Linux运维知识之linux下nginx不支持中文URL路径的解决方案,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。 1、确定你的系统是UTF编码 [rootlocalhost ~]# echo $LAGN en_US.UTF-8 2、nginx配置文件里默认编码…

python爬虫之正则表达式实战----爬取图片

文章目录 1. 图片爬取流程分析2. 爬取家常菜图片 1. 图片爬取流程分析 先获取网址,URL:https://www.xiachufang.com/category/40076/ 定位想要爬取的内容使用正则表达式爬取导入模块指定URLUA伪装(模拟浏览器)发起请求&#xff0…

【springcloud-config】配置中心客户端导入依赖spring-cloud-config-server后,maven一直爆红问题解决

问题描述 配置中心客户端导入了 spring-cloud-config-server 后&#xff0c;导入依赖爆红&#xff1b; 解决办法&#xff1a; 参考官网中文文档&#xff1a;spring-cloud -config 配置中心 中文文档 补充导入 spring-config-starter-config 配置即可 <!--springcloud-c…

Transformer英语-法语机器翻译实例

依照Transformer结构来实例化编码器&#xff0d;解码器模型。在这里&#xff0c;指定Transformer编码器和解码器都是2层&#xff0c;都使用4头注意力。为了进行序列到序列的学习&#xff0c;我们在英语-法语机器翻译数据集上训练Transformer模型&#xff0c;如图11.2所示。 da…

【设计模式】第5节:创建型模式之“简单工厂、工厂方法和抽象工厂模式”

一、简单工厂模式 ProductFactory是创建商品的工厂&#xff0c;商品Product可以实现Product接口中的一些功能。 当需要根据入参的不同生成多种不同的产品时&#xff0c;可以将生成不同产品的逻辑剥离出来&#xff0c;使用产品工厂创建不同的产品。 二、工厂方法 ConcreteFact…

知识点滴 - Email地址不区分大小写

电子邮件地址本身对字符大小写不敏感。这意味着实际的电子邮件地址&#xff0c;如 "exampleemail.com"&#xff0c;并不区分字母的大小写。无论你输入的是大写字母还是小写字母&#xff0c;它仍然会到达同一个电子邮件账户。例如&#xff0c;如果您的电子邮件地址是 …

信创生态丨九州未来与超聚变完成兼容性互认证

近日&#xff0c;九州未来与超聚变积极开展了兼容性适配工作&#xff0c;并完成产品兼容性互认证。双方兼容性测试基于Intel64、鲲鹏架构完成&#xff0c;测试结果显示&#xff1a;九州未来Animbus IaaS V8可基于超聚变FusionOS 23服务器操作系统安全稳定运行&#xff0c;产品相…

并发编程-线程池ForkJoinPool工作原理分析

由一道算法题引发的思考 算法题&#xff1a; 如何充分利用多核CPU的性能&#xff0c;快速 对一个2千万大小的数组进行排序&#xff1f; 分解 求解 合并 这道算法题可以拆解来看&#xff1a; 1&#xff09;首先这是一道排序的算法题&#xff0c;而且是需要使用高效的排序算法…