【Python入门第十五天】Python字典
字典(Dictionary)
字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。
实例
创建并打印字典:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
print(thisdict)
运行实例

访问项目
您可以通过在方括号内引用其键名来访问字典的项目:
实例
获取 “model” 键的值:
x = thisdict["model"]
运行实例

还有一个名为 get() 的方法会给你相同的结果:
实例
获取 “model” 键的值:
x = thisdict.get("model")
运行实例

更改值
您可以通过引用其键名来更改特定项的值:
实例
把 “year” 改为 2019:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
thisdict["year"] = 2019
运行实例

遍历字典
您可以使用 for 循环遍历字典。
循环遍历字典时,返回值是字典的键,但也有返回值的方法。
实例
逐个打印字典中的所有键名:
for x in thisdict:print(x)
运行实例

实例
逐个打印字典中的所有值:
for x in thisdict:print(thisdict[x])
运行实例

实例
还可以使用 values() 函数返回字典的值:
for x in thisdict.values():print(x)
运行实例

实例
通过使用 items() 函数遍历键和值:
for x, y in thisdict.items():print(x, y)
运行实例

检查键是否存在
要确定字典中是否存在指定的键,请使用 in 关键字:
实例
检查字典中是否存在 “model”:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
if "model" in thisdict:print("Yes, 'model' is one of the keys in the thisdict dictionary")
运行实例

字典长度
要确定字典有多少项目(键值对),请使用 len() 方法。
实例
打印字典中的项目数:
print(len(thisdict))
运行实例

添加项目
通过使用新的索引键并为其赋值,可以将项目添加到字典中:
实例
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
thisdict["color"] = "red"
print(thisdict)
运行实例

删除项目
有几种方法可以从字典中删除项目:
实例
pop() 方法删除具有指定键名的项:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
thisdict.pop("model")
print(thisdict)
运行实例

实例
popitem() 方法删除最后插入的项目(在 3.7 之前的版本中,删除随机项目):
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
thisdict.popitem()
print(thisdict)
运行实例

实例
del 关键字删除具有指定键名的项目:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
del thisdict["model"]
print(thisdict)
运行实例

实例
del 关键字也可以完全删除字典:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
del thisdictprint(thisdict) #this 会导致错误,因为 "thisdict" 不再存在。
运行实例

实例
clear() 关键字清空字典:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
thisdict.clear()
print(thisdict)
运行实例

复制字典
您不能通过键入 dict2 = dict1 来复制字典,因为:dict2 只是对 dict1 的引用,而 dict1 中的更改也将自动在 dict2 中进行。
有一些方法可以进行复制,一种方法是使用内建的字典方法 copy()。
实例
使用 copy() 方法来复制字典:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
mydict = thisdict.copy()
print(mydict)
运行实例

制作副本的另一种方法是使用内建方法 dict()。
实例
使用 dict() 方法创建字典的副本:
thisdict = {"brand": "Porsche","model": "911","year": 1963
}
mydict = dict(thisdict)
print(mydict)
运行实例

嵌套字典
词典也可以包含许多词典,这被称为嵌套词典。
实例
创建包含三个字典的字典:
myfamily = {"child1" : {"name" : "Phoebe Adele","year" : 2002},"child2" : {"name" : "Jennifer Katharine","year" : 1996},"child3" : {"name" : "Rory John","year" : 1999}
}
运行实例
{'child1': {'name': 'Phoebe Adele', 'year': 2002}, 'child2': {'name': 'Jennifer Katharine', 'year': 1996}, 'child3': {'name': 'Rory John', 'year': 1999}}
或者,如果您想嵌套三个已经作为字典存在的字典:
实例
创建三个字典,然后创建一个包含其他三个字典的字典:
child1 = {"name" : "Phoebe Adele","year" : 2002
}
child2 = {"name" : "Jennifer Katharine","year" : 1996
}
child3 = {"name" : "Rory John","year" : 1999
}myfamily = {"child1" : child1,"child2" : child2,"child3" : child3
}
运行实例
{'child1': {'name': 'Phoebe Adele', 'year': 2002}, 'child2': {'name': 'Jennifer Katharine', 'year': 1996}, 'child3': {'name': 'Rory John', 'year': 1999}}
dict() 构造函数
也可以使用 dict() 构造函数创建新的字典:
实例
thisdict = dict(brand="Porsche", model="911", year=1963)
# 请注意,关键字不是字符串字面量
# 请注意,使用了等号而不是冒号来赋值
print(thisdict)
运行实例

字典方法
Python 提供一组可以在字典上使用的内建方法。

相关文章:
【Python入门第十五天】Python字典
字典(Dictionary) 字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。 实例 创建并打印字典: thisdict {"brand": "Porsche","model": "911&q…...
java学习思路
基础概念:了解Java的基本概念,如Java虚拟机(JVM)、Java标准版(Java SE)、Java企业版(Java EE)等。了解Java的版本、发展历程以及Java应用场景。可以通过阅读Java官方文档、相关书籍、…...
MySQL操作数据库-------创建数据库
搭建好MySQL环境后,现在我们正式的进入到MySQL的学习当中,这篇文章讲述如何去创建MySQL数据库。 1. 使用CREATE DATABASE创建数据库 语法格式:CREATE DATABASE database_name eg.打开MySQL命令行,查看当前MySQL中存在的数据库 my…...
【十】深入理解redolog,undolog和binlog的底层原理
MySql系列整体栏目 内容链接地址【一】深入理解mysql索引本质https://blog.csdn.net/zhenghuishengq/article/details/121027025【二】深入理解mysql索引优化以及explain关键字https://blog.csdn.net/zhenghuishengq/article/details/124552080【三】深入理解mysql的索引分类&a…...
高频js手写题之实现数组扁平化、深拷贝、总线模式
前言 古人学问无遗力,少壮工夫老始成。纸上得来终觉浅,绝知此事要躬行。看懂一道算法题很快,但我们必须将这道题的思路理清、手写出来。 三道js手写题的思路和代码实现 数组扁平化 演示效果 将[1, [1, 2], [1, [2]]] 变成 [1, 1, 2, 1, 2] 第一种&…...
HTML介绍
文章目录一. HTML介绍二. 创建三. HTML结构四. 常见的标签五. 链接标签六. 图片标签七. 资源路径八. 列表标签九. 表格标签十. 表单标签十一. 表单提交一. HTML介绍 HTML: 超文本标记语言作用: 书写前端页面前端三大技术(三大标准): HTML: 结构标准 (页面中有什么内容)CSS: 样…...
【C++】string的9道OJ题
要么庸俗,要么孤独… 文章目录一、仅仅反转字母二、字符串中的第一个唯一字符(计数排序的思想)三、字符串相加(做好加进位的工作即可)四、把字符串转换成整数五、反转字符串中的单词 III六、字符串相乘(高…...
Odoo丨Odoo框架源码研读三:异常处理与定制化开发
Odoo丨Odoo框架源码研读三:异常处理与定制化开发 Odoo源码研读的第三期内容:异常处理与定制化开发。 *异常处理* Odoo中的Exception是对Python内置异常做了继承和封装,设定了自己核心的几个Exception。 而对异常的处理和Python内置异常的…...
Python概述 基础语法 判断 循环
Python概述常用快捷键第二章-Python基础语法01-字面量02-注释03-变量04-数据类型05-数据类型转换06-标识符07-运算符08-字符串的三种定义方式09-字符串的拼接10-字符串格式化11-字符串格式化的精度控制 12-字符串格式化-快速写法13-对表达式进行格式化14-字符串格式化练习题讲解…...
什么是品牌营销?学会正确推广您的业务
什么是品牌营销? 品牌营销涉及长期战略规划,以推广整个品牌,而不是营销单个产品或服务。它分享了一个引人入胜的故事,以在潜在客户中产生品牌知名度并建立声誉。 面向消费者的品牌使用品牌智能软件来了解人们对其品牌的看法&#…...
Golang学习Day1
😋 大家好,我是YAy_17,是一枚爱好网安的小白。本人水平有限,欢迎各位大佬指点,欢迎关注 😁,一起学习 💗 ,一起进步 ⭐ 。⭐ 此后如竟没有炬火,我便是唯一的光…...
《设计模式》工厂模式
《设计模式》工厂模式 工厂模式又分为简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)都是常用的创建型设计模式,它们的主要区别如下: 简单工厂…...
JS - 原型对象、原型链是什么
一 阅读掘金 https://juejin.cn/post/7007416743215759373 https://juejin.cn/post/7007416743215759373 二 阅读掘金小册原型知识点 原型 涉及面试题:如何理解原型?如何理解原型链? 当我们创建一个对象时 let obj { age: 25 }࿰…...
STM32f103 CubeMX封装 led程序
本文代码使用 HAL 库。 文章目录前言一、LED 原理图二、CubeMX创建工程三、LED 相关函数1. 输出电平函数:2. 延时函数:3. 翻转电平函数:四、详细代码实验现象 :总结代码 源码:前言 从这篇文章开始,我们讲解…...
智慧教室系统--温湿度控制系统
随着科技的不断进步,智能化已经成为了各个行业的发展趋势,智慧教室作为未来教育的主流趋势之一,也将受益于这一趋势。而智慧教室中的温湿度控制系统是其中的重要组成部分,为了创造一个舒适、健康、安全的教学环境,智慧…...
只要一直向前定能到达远方,社科院与杜兰大学金融管理硕士项目为你注入动力
在人生这条道路上,我们很远的路要走,不管前方是否平坦,我们只要坚持前向,终将抵达远方。一路上我们付出很多,也收获很多。想要变得更强大,就要不断优化自身,积攒更多的能量,社科院与…...
Java性能-回收算法-Throughout回收算法
垃圾回收算法 理解Throughput回收器 回收器三个基本操作——回收 找到不使用的对象 释放内存 压缩堆碎片 Minor GC和Full GC,每个操作都会标记,释放和压缩对应的目标分代 [63.205s][info][gc,start ] GC(13) Pause Full (Ergonomics) [63.205s][info][…...
立项近7年,索尼产品经理分享PS VR2开发背后的故事
备受期待的索尼PS VR2终于正式发售,VR爱好者们终于有机会体验到《地平线:山之呼唤》等PS VR2独占的VR大作。近期,为了解PS VR2头显诞生背后的故事,外媒AV Watch采访到PS VR2的开发负责人Yasuo Takahashi,在本次采访中&…...
Kubernetes 如何通过ingress-nginx实现应用灰度发布?
在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝…...
华为OD机试 - 密室逃生游戏(Java) | 机试题+算法思路+考点+代码解析 【2023】
密室逃生游戏 小强增在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子, 并给出箱子编号,箱子编号为 1~N 。 每个箱子中都有一个 字符串s ,字符串由大写字母、小写字母、数字、标点符号、空格组成, 需要在这些字符串中找到所有…...
pytorch求二维张量转置的几种方法
方法1方法2方法3方法4...
突破压缩技术边界:7-Zip ZS多算法融合解决方案全解析
突破压缩技术边界:7-Zip ZS多算法融合解决方案全解析 【免费下载链接】7-Zip-zstd 7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard 项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd 在数据爆炸的时代,文件…...
三场正交相位场统一论2.0——宇宙底层规律与星际航行的终极答案
前言:打破百年物理枷锁,回归宇宙本质逻辑从麦克斯韦完成电磁力的初步统一,到特斯拉触摸到反重力的技术边缘,从爱因斯坦构建时空弯曲的引力假说,到张祥前提出空间螺旋统一场模型,人类为破解宇宙四大力统一的…...
终极装备管理革命:TQVaultAE如何彻底改变《泰坦之旅》游戏体验
终极装备管理革命:TQVaultAE如何彻底改变《泰坦之旅》游戏体验 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE TQVaultAE是《泰坦之旅周年纪念版》的终极外部工具…...
Python爬虫实战:手把手教你古文字字形索引全量采集与图文数据库构建!
㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐ (基础入门篇) 🉐福利: 一次订阅后,专栏内的所有…...
用pnpm安装一个软件显示包找不到的问题解决
问题总览 您遇到的是**pnpm环境缺失与目标包mmem0ai无法从npm registry获取**的双重问题,具体表现为两条错误链: sudo pnpm add mmem0ai → sudo: pnpm: command not found(sudo环境下未识别pnpm命令);直接运行pnpm ad…...
藏在OpenBMC里的黑科技:拆解dbus-broker如何用socketpair实现父子进程通信
藏在OpenBMC里的黑科技:拆解dbus-broker如何用socketpair实现父子进程通信 在嵌入式系统开发领域,OpenBMC作为开源基板管理控制器解决方案,其底层通信机制的设计往往蕴含着许多精妙的技术细节。今天我们将深入探讨dbus-broker中那个鲜为人知…...
零基础入门:Qwen3-ASR-1.7B语音识别Docker部署全流程
零基础入门:Qwen3-ASR-1.7B语音识别Docker部署全流程 1. 为什么选择Docker部署语音识别服务 想象一下,你刚学会使用Qwen3-ASR-1.7B这个强大的语音识别模型,在本地电脑上测试效果非常棒。但当你想把它部署到服务器上时,突然发现各…...
CCS12.2搭配C2000ware 4.03导入工程报错?手把手教你修复头文件路径变量(MATLAB 2023b适用)
CCS12.2与C2000ware 4.03工程导入报错全解析:从路径变量修复到MATLAB 2023b联调实战 当你满怀期待地将MATLAB 2023b生成的代码导入CCS12.2,准备与C2000ware 4.03来场完美邂逅时,编译器却毫不留情地抛出一连串头文件找不到的错误——这种从云端…...
正交编码器信号处理避坑指南:ESP32 PCNT模块的6个关键配置参数详解
正交编码器信号处理避坑指南:ESP32 PCNT模块的6个关键配置参数详解 在工业自动化和机器人控制系统中,正交编码器作为核心的位置反馈元件,其信号处理的可靠性直接决定了整个系统的精度。ESP32内置的PCNT(Pulse Counter)…...
