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

目录

  • 字典
  • 创建字典
    • 通过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.rhkb.cn/news/168996.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023/10/23 mysql学习

数据库修改 show databases; 展示所有数据库 create database 数据库名; 创建数据库 create database if not exists 数据库名; 如果未创建过当前数据库名则创建 drop database 数据库名; drop database if exists 数据库名;用法和创建类似 删除数据库 use 数据库名; 跳…

分享一下商城小程序怎么设置分销功能

随着互联网的快速发展,传统的营销方式已经无法满足企业的需求。在这个时代,拥有一个高效的分销系统已经成为了企业成功的关键之一。而商城小程序作为近年来火爆的电商新模式,其中的分销功能更是备受关注。本文将以分销功能为主要主题&#xf…

Rockchip RK3399 - DRM crtc基础知识

一、LCD硬件原理 1.1 CRT介绍 CRT是阴极射线管(Cathode Ray Tube)的缩写,它是一种使用电子束在荧光屏上创建图像的显示设备。CRT显示器在过去很长一段时间内是主流的显示技术,现已被液晶显示屏或其他新兴技术所替代。 在CRT显示器中,扫描电子…

分享一下微信小程序的文章中怎么添加营销活动

在数字化时代,小程序已经成为企业营销的重要工具。通过小程序,企业可以提供更加便捷、高效的服务,吸引更多的用户和客户。本文将以小程序营销活动为主题,介绍如何在小程序文章中加入营销活动,提高品牌知名度和销售额。…

C/C++数据结构——队列

个人主页:仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏:数据结构_仍有未知等待探索的博客-CSDN博客 目录 一、前言 二、队列的基本操作(循环队) 1、循环队的数据类型 2、循环队的名词解释 3、循环队的创建及…

Windows与Linux服务器互传文件

使用winscp实现图形化拖动的方式互传文件. 1.下载winscp软件并安装,官方地址: https://winscp.net/eng/index.php 2.打开软件: 文件协议选择scp,输入linux服务器的IP和端口号,然后输入你的用户名和密码就可以登陆了。…

基于Java的校园餐厅订餐管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

Linux 进程切换与命令行参数

假设进程1现在要切走了,切入进程2.那进程1就要先保存数据,方便以后恢复, 然后进程2再切走,进程1再把数据还原: 操作系统又分为实时操作系统和分时操作系统。 实时操作系统是是给操作系统一个进程,操作系统…

【漏洞复现】panalog日志审计系统任意用户创建漏洞和后台命令执行

漏洞描述 panalog为北京派网软件有限公司,一款流量分析,日志分析管理的一款软件。存在任意用户创建漏洞和后台命令执行漏洞,可先通过任意用户创建,然后进行后台命令执行,获取服务器权限。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公…

Vue单文件组件

一、.vue文件 我们使用Vue的单文件组件的时候&#xff0c;一个.vue文件就是一个组件。 例如我们创建一个School组件&#xff1a; 二、组件的结构 我们编写网页代码的时候有HTML结构、CSS样式、JS交互。 组件里也是同样存在这三种结构的&#xff1a; <template><d…

甘特图组件DHTMLX Gantt示例 - 如何有效管理团队工作时间?(二)

如果没有有效的时间管理工具&#xff0c;如工作时间日历&#xff0c;很难想象一个项目如何成功运转。这就是为什么我们的开发团队非常重视项目管理&#xff0c;并提供了多种选择来安排DHTMLX Gantt的工作时间。使用DHTMLX Gantt这个JavaScript库&#xff0c;您可以创建一个强大…

2024SCI经验心得分享---如何在零基础、导师基本放养的情况下---发表自己的第一篇SCI(三区)经验分享篇

本期的经验分享&#xff0c;采访到了我的一位非常非常非常优秀的师妹&#xff0c;师妹于今年6月份投稿&#xff0c;10月份录用&#xff0c;历时四个月录用了自己的第一篇SCI&#xff08;三区&#xff09;的文章图像处理类的&#xff0c;同时师妹也取得了很多其他优秀的荣誉。 众…

软考系列(系统架构师)- 2020年系统架构师软考案例分析考点

试题一 软件架构&#xff08;架构风格、质量属性&#xff09; 【问题1】&#xff08;13分&#xff09; 针对该系统的功能&#xff0c;李工建议采用管道-过滤器&#xff08;pipe and filter)的架构风格&#xff0c;而王工则建议采用仓库&#xff08;reposilory)架构风格。请指出…

mysql图片存取初探

mysql数据库中使用blob存储使用base64加密图片数据 前言 这个方法并不好&#xff0c;因为传输的数据量还是蛮大的&#xff0c;可以存一些诸如头像的小图片&#xff0c;但是如果要存较大的图片会很慢。 不过只是课程作业中简单的功能&#xff0c;这样子简单又快捷&#xff0c;…

CICD 流程学习(五)Jenkins后端工程构建

案例1&#xff1a;数据库服务部署 MySQL部署 #安装MySQL服务 [rootServices ~]# yum clean all; yum repolist -v ... Total packages: 8,265 [rootServices ~]# yum -y install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64 ... Complete! [rootServices ~]# #启动…

【JavaEE】网络编程---TCP数据报套接字编程

一、TCP数据报套接字编程 1.1 ServerSocket API ServerSocket 是创建TCP服务端Socket的API ServerSocket 构造方法&#xff1a; ServerSocket 方法&#xff1a; 1.2 Socket API Socket 是客户端Socket&#xff0c;或服务端中接收到客户端建立连接&#xff08;accept方法&…

WordPress SMTP邮件发送插件 Easy WP SMTP

Easy WP SMTP是一款 WordPress 邮件发送插件&#xff0c;WordPress 中经常用到邮件发送&#xff0c;包括新注册用户的邮件通知、找回密码通知、评论回复通知等。因为云服务器默认不启用 SMTP功能&#xff0c;所以需要安装 SMTP插件来解决这个问题。 SMTP 主机&#xff1a;smtp.…

Kurento多对多webrtc会议搭建测试

环境ubuntu18.04 KMS版本6.13.0 多对多通信demo7.0.0 KMS运行起来后&#xff0c;通过运行它的一个个demo&#xff0c;来实现不同的功能&#xff0c;它的demo很多如下&#xff1a; https://github.com/Kurento 里面有一对一&#xff0c;多对多&#xff0c;还有一些特效的demo。…

汽车屏类产品(三):抬头显示Head-Up Display(HUD)

前言 你的下一台车,一定要考虑加装一个HUD。 汽车抬头显示器或汽车抬头显示器(也称为汽车HUD)是任何透明的显示器,它可以在汽车中显示数据,而不需要用户将视线从平时的视角移开。这个名字的由来源于飞行员能够在头部“向上”并向前看的情况下查看信息,而不是向下倾斜查…

ARM可用的可信固件项目简介

安全之安全(security)博客目录导读 目录 一、TrustedFirmware-A (TF-A) 二、MCUboot 三、TrustedFirmware-M (TF-M) 四、TF-RMM 五、OP-TEE 六、Mbed TLS 七、Hafnium 八、Trusted Services 九、Open CI 可信固件为Armv8-A、Armv9-A和Armv8-M提供了安全软件的参考实现…