5.3章节python中字典:字典创建、元素访问、相关操作
1.字典的创建和删除
2.字典的访问和遍历
3.字典的相关操作
4.字典的生成式
一、字典的创建和删除
字典(dictionary)是一种用于存储键值对(key-value pairs)的数据结构。每个键(key)都映射到一个值(value),并且键必须是唯一的。字典是一种非常灵活和强大的数据结构,广泛用于处理复杂的数据关系。
1.字典创建
可以使用花括号 {} 或者 dict() 函数来创建一个字典。
# 1.使用花括号创建字典
a = {'name': 'Alice', 'age': 30, 'city': 'New York'}
print(a)# 2.zi函数
l1 = [2,6,9,8,55]
l2 = ['a','e','r','k']
zipobj = zip(l1,l2)
# print(zipobj) # 输出为<zip object at 0x0000013BBF180680>
z2 = dict(zipobj)
print(z2)# 3.使用 dict() 函数创建字典
b = dict(name='Bob', age=25, city='Los Angeles')
print(b)t = (5,9,6,8,7)
print({t:10})t1 = [5,9,6,8,7]
# print({t1:10}) # 报错# 4字典序列操作
print('max:',max(a))
print('min:',min(a))
print('len:',len(a))# 5.删除操作
del a
print(a)# 报错
二、字典的访问和遍历
通过键来访问字典中的值
a = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 访问字典中元素# 1.a[key]
print(a['city'])# 2 a.get(key)
print(a.get('city'))# 3.两者区别 二者之间是有区别的.如果key不存在. d[key]报错d .get(key)可以指定默认值
# print(d['py'])# 报错
print(a.get('py'))# None
print(a.get('py' ,'不存在'))# 字典的遍历
for i in a.items():print(i)# key=value组成的一个元素# 使用for循环遍历时,分别获取key,value
for key,value in a.items():print(key,'------->',value)
添加或修改键值对:可以通过给字典赋一个新的键值对来添加或修改一个键的值。
a['email'] = 'alice@example.com' # 添加一个新的键值对
a['age'] = 31 # 修改已存在的键的值
三、字典的相关操作
a = {'name': 'Alice', 'age': 30, 'city': 'New York',1001:'李梅'}
print(a)# 添加和修改
a['200'] = 1002 # 赋值
print(a)# 获取字典中所有的key
key_s = a.keys()
print(key_s)# dict_keys(['name', 'age', 'city', 1001, '200'])
print(list(key_s))
print(tuple(key_s))# 获取字典中所有values
value_s = a.values()
print(value_s)# dict_values(['Alice', 30, 'New York', '李梅', 1002])
print(list(value_s))
print(tuple(value_s))# 将字典中数据转成key-value的形式,以元组的方式输出
lst = list(a.items())
print(lst)lst1 = dict(lst)
print(lst1)# 使用pop函数
print(a.pop('city'))
print(a)print(a.pop('5666','不存在'))
print(a)# 随机删除
print(a.popitem())
print(a)# 清空所有元素
a.clear()
print(a)# 测试空字典布尔类型
print(bool(a))
四、字典的生成式和嵌套
字典生成式的一般形式为:
{key_expression: value_expression for item in iterable}
import randoma ={ i:random.randint(1,1000) for i in range(5)}
print(a)# 创建两个列表
ls = [11,12,13,14,15,16]
ls1 = ['1001','1002','1003','1004','1005',1006]a1 = {i:y for i,y in zip(ls,ls1)}
print(a1)
字典的嵌套:字典也可以嵌套,形成更复杂的结构。
# 创建一个嵌套字典
person = { 'name': 'Alice', 'details': { 'age': 30, 'city': 'New York', 'email': 'alice@example.com' }
} print(person['details']['city']) # 输出: New York
相关文章:

5.3章节python中字典:字典创建、元素访问、相关操作
1.字典的创建和删除 2.字典的访问和遍历 3.字典的相关操作 4.字典的生成式 一、字典的创建和删除 字典(dictionary)是一种用于存储键值对(key-value pairs)的数据结构。每个键(key)都映射到一个值…...

ECCV2024 Tracking 汇总
一、OneTrack: Demystifying the Conflict Between Detection and Tracking in End-to-End 3D Trackers paper: https://www.ecva.net/papers/eccv_2024/papers_ECCV/papers/01174.pdf 二、VETRA: A Dataset for Vehicle Tracking in Aerial Imagery paper&#…...
C语言知识点
命名规则: 字符组成:标识符只能由字母(A~Z,a~z)、数字(0~9)和下划线(_)组成。首字符要求:标识符的第一个字符必须是字母或下划线,不能是数字。长…...
ICMP协议以及ARP欺骗攻击
ping 命令使用的是 ICMP(Internet Control Message Protocol)协议,而不是 TCP 或 UDP 协议。因此,ping 命令并不使用特定的端口号。 ICMP 协议 ICMP 是一种网络层协议,主要用于在 IP 网络中传递控制消息。ping 命令利…...
qt5.12.12插件机制无法加载插件问题
环境:win11 vs2015 qt5.12.12 问题描述:确保插件代码正确的情况下,无法解析插件接口(即QPluginLoader类的instance(); 返回为空)。 问题现象:1、qt5.12.12的debug下无法解析;2、release下禁…...

机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)
机器学习面试笔试知识点-线性回归、逻辑回归Logistics Regression和支持向量机SVM 一、线性回归1.线性回归的假设函数2.线性回归的损失函数(Loss Function)两者区别3.简述岭回归与Lasso回归以及使用场景4.什么场景下用L1、L2正则化5.什么是ElasticNet回归6.ElasticNet回归的使…...

SpringBoot民宿预订系统设计与实现
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...

linux环境下C程序的编译过程以及makefile的简单使用
在windows下,很多用来进行编程软件对于写好的文件,点击编译即可生成想要文件。如.exe可执行文件,.hex文件或者.bin文件等等。软件为我们省略了很多事。但是对于linux初学者来说,初次接触linux系统,面对命令行黑框框有点…...

【从零开始的LeetCode-算法】945. 使数组唯一的最小增量
给你一个整数数组 nums 。每次 move 操作将会选择任意一个满足 0 < i < nums.length 的下标 i,并将 nums[i] 递增 1。 返回使 nums 中的每个值都变成唯一的所需要的最少操作次数。 生成的测试用例保证答案在 32 位整数范围内。 示例 1: 输入&am…...

Java程序设计:spring boot(2)
目录 1 Spring MVC 零配置创建与部署 1.1 创建Spring MVC Web⼯程 1.2 pom.xml 添加坐标相关配置 1.3 添加源代码 1.4 添加视图 1.5 SpringMVC 配置类添加 1.6 入口文件代码添加 1.7 部署与测试 2 Spring Boot 概念&特点 2.1 框架概念 2.2 框架特点 2.3 Spring…...

服务器运维监控平台
云监控平台-简介 一:简介 “phoenix” 是一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、docker、数据库、网络、tcp 端口和 http 接口,通过实时收集、汇聚和分析监控信息,实现在发现异常时立刻推送告警信息&…...
css中 global 和 deep(两个样式穿透) 区别
1.:global(selector):这个伪类选择器会选择所有全局的、未被其他样式表覆盖的元素。换句话说,它会匹配所有没有被其他样式表(例如内联样式或外部样式表)所影响的元素。 :global(p) {color: red; }这段代码会将所有 <p> 元素…...

【星闪技术】WS63E模块的WiFi客户端测试
引言 我所计划的WS63E测试要实现MQTT联网,所以首先需要确保开发板连接WiFi。今天来测试一下WiFi功能。 程序分析 WiFi客户端的例子在src/application/samples/wifi/sta_sample目录下。这个例子看上去和hi3861的例子差不多。 这段程序是一个用于嵌入式设备的Wi-F…...

Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 面试题目1:Kotlin中的协程与线程的区别是什么?如何在Android中使用协程进行异步编程? 解答: 协…...

操作系统 和 初识进程
目录 操作系统(OS) 进程 操作系统(OS) 概念 操作系统即os,是一款软件。 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。 操作系统的本质是一种进行软硬件管理的软件 笼统的理解…...

QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
QLabel 是 Qt 中的标签类,通常用于显示提示性的文本,也可以显示图像 对齐方式 用于设置标签中的内容在水平和垂直两个方向上的对齐方式,比如左对齐、右对齐、上对齐、下对齐、水平居中、垂直居中等。 // 获取和设置文本的对齐方式 Qt::Ali…...
深度学习:终身学习(Life-Long Learning)详解
终身学习(Life-Long Learning)详解 终身学习(也称为持续学习或增量学习)是机器学习中的一个重要研究领域,它关注如何使机器学习模型在完成一系列任务后,能够持续学习新任务,而不会忘记之前学到…...
前端UI框架
组件UI类 1.Element-Plus 2.uView 3.Vant 4.TDesign 5.uni-app 6.Tuniao-vue3 7. 可视化图标类 1.可视化图标VUE Data UI 2.Echart 图标库ICON 1.yesicon 2.Flaticon 3.Google Fonts 4.fontawesome 5.阿里巴巴 其他 1.CSS布局 2.web前端样式布局 3.中国色-颜色合集 托管…...

最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?
如何低成本打造电脑拓展副屏?如果你有一台平板和一台电脑,想要提高打游戏、办公或是学习的效率。那么,使用网易GameViewer远程,就能帮你低成本打造电脑拓展副屏。 简单来说,副屏串流就是能让你多出一块显示屏。在打游戏…...

SQL Injection | SQL 注入概述
关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客 0x01:SQL 注入漏洞介绍 SQL 注入就是指 Web 应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是可控的,并且参数会带入到数据库中执行,导致…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...