当前位置: 首页 > article >正文

LLM系列:1.python入门:7.字典型对象(dict)

字典型对象(dict)一. 字典基础字典dict是Python中无序的可变容器。它由一个个键值对(Key-Value)构成。字典也被称作关联数组或者哈希表。1. 字典的创建外侧使用大括号{}圈定内部是由冒号:连接的键值对不同键值对之间用逗号,分隔。核心规则 (Point)键Key必须是独一无二的且只能使用不可变类型对象充当如数字、字符串、元组。值Value可以是任意类型对象如列表、字典等可变类型均可。(1). 直接创建与空字典# 直接创建字典d{A:1,B:2,C:3}# 包含不同 Key 类型的字典d1{1:1,A:2,(1,):1}# 创建空字典dn{}(2). 使用 dict() 函数创建字典由于字典数据结构特殊dict()函数的输入要求也较为特殊。方法一传入包含双元素元组的列表传入一个列表列表内的元素必须是长度为 2 的元组。元组的第一个元素变为 Key必须是不可变类型第二个元素变为 Value。dict([(1,4),(2,3)])# 结果为{1: 4, 2: 3}方法二通过关键字参数赋值赋值过程将转化为字典的对应关系变量名变为 Key(自动转化为字符串)变量值变为 Value。此方法只能创建Key为字符串类型的字典。dict(a1,b2)# 结果为{a: 1, b: 2}2. 字典的基础索引字典由于其无序性不支持通过数字位置下标索引而是通过输入 Key 来查找对应的 Value。(1). 一般索引方法dict[key]d{A:1,B:2,C:3}# 查找 key 为 A 的 Valued[A]# 结果为 1# 因为字典是可变对象可以通过索引直接修改或新增键值对d[A]2# 修改已有 Key 的值d[D]4# 增加新的 Key-Value 对注如果使用dict[key]查找了一个不存在的 Key程序会直接报错KeyError。二. 字典常用方法1. get - 安全获取键值作用获取字典中指定键的值。与直接索引不同当对应键不存在时不会报错而是返回指定的默认值。dict.get(key,defaultNone)参数键 (key) 需要查找的目标键名称Any通常为不可变类型。默认值 (default) 可选参数当查找的键不存在时返回的默认值Any。如果不写默认返回None。返回值成功 键存在时返回对应的 Value 值Any键不存在时返回设定的默认值Any。示例d1{1:1,A:2,(1,):1}# 键存在返回对应的值d1.get(A)# 返回 2# 键不存在不写第二个参数无任何显式报错和输出 (返回 None)d1.get(3)# 键不存在指定返回 Errord1.get(3,Error)# 返回 Error2. keys - 获取所有键作用提取并返回字典中所有的键Key。dict.keys()参数无参数None。返回值成功 返回一个包含字典所有键的视图对象dict_keys。若要进行列表操作可使用list()或tuple()函数将其转化。示例ddict(A1,B2,C3)# 获取所有键d.keys()# 结果为 dict_keys([A, B, C])# 转化为列表list(d.keys())# 结果为 [A, B, C]3. values - 获取所有值作用提取并返回字典中所有的值Value。dict.values()参数无参数None。返回值成功 返回一个包含字典所有值的视图对象dict_values。也可通过list()或tuple()函数转化。示例ddict(A1,B2,C3)# 获取所有值dvd.values()# 结果为 dict_values([1, 2, 3])# 转化为元组tuple(dv)# 结果为 (1, 2, 3)4. items - 获取所有键值对作用将字典中的每个键值对打包成元组形式进行返回。dict.items()参数无参数None。返回值成功 返回一个由每对(key, value)组成的视图对象dict_items。常用于循环遍历。示例ddict(A1,B2,C3)# 打包返回键值对did.items()# 结果为 dict_items([(A, 1), (B, 2), (C, 3)])# 转化为列表list(di)# 结果为 [(A, 1), (B, 2), (C, 3)]5. update - 更新字典作用使用另一个字典来更新当前字典。注更新是在原对象基础上直接修改。有新的部分则添加键重复的部分则覆盖更新其他保留。dict.update(other_dict)参数字典 (other_dict) 提供更新内容的字典对象或可迭代的键值对集合dict / Iterable。返回值成功 无返回值NoneType直接在原字典对象上进行修改。示例ddict(A1,B2,C3)d1dict(B2,C4,D5)# 使用 d1 更新 d# B 相同保留C 的值被覆盖为 4新增 D: 5d.update(d1)# 原字典 d 变为{A: 1, B: 2, C: 4, D: 5}6. setdefault - 默认赋值作用根据键是否存在有选择性地获取或修改字典。常用于为缺失的键设置初始默认值。dict.setdefault(key,defaultNone)参数键 (key) 需要判断和设置的备选键Any不可变类型。默认值 (default) 备选键对应的默认值Any。返回值成功 若原字典中该键存在则返回原字典中该键对应的 ValueAny若原字典中该键不存在则将该键值对添加至字典中并返回设定的 default 值Any。示例ddict(A1,B2,C3)# 1. 备选键 A 已存在# 返回原对应值 1输入的参数 5 无任何作用原字典不改变val1d.setdefault(A,5)# 2. 备选键 D 不存在# 返回输入的参数 5并将 D: 5 添加进原字典val2d.setdefault(D,5)# d 变为 {A: 1, B: 2, C: 3, D: 5}

相关文章:

LLM系列:1.python入门:7.字典型对象(dict)

字典型对象(dict) 一. 字典基础 字典(dict)是Python中无序的可变容器。它由一个个键值对(Key-Value)构成。字典也被称作关联数组或者哈希表。 1. 字典的创建 外侧使用大括号 {} 圈定,内部是由冒号 : 连接的键值对,不同键值对之间用…...

给STM32F7加把安全锁:用CubeMX、FreeRTOS和WolfSSL 4.4.0实现HTTPS客户端(附完整工程)

STM32F7安全通信实战:基于CubeMX与WolfSSL的HTTPS客户端深度优化 在物联网设备爆发式增长的今天,数据安全传输已成为嵌入式开发者的必修课。当你的智能家居设备向云端发送温度数据,或是工业传感器传输产线状态时,如何防止敏感信息…...

Intv_AI_MK11运维自动化实践:智能监控告警与故障自愈方案

Intv_AI_MK11运维自动化实践:智能监控告警与故障自愈方案 1. 运维自动化的新纪元 凌晨3点,某电商平台的数据库突然出现性能抖动。传统运维模式下,值班工程师需要手动检查十几项指标、翻阅数百条日志才能定位问题。而采用Intv_AI_MK11的智能…...

ROS多传感器数据融合:message_filters时间同步实战(附避坑指南)

ROS多传感器数据融合:message_filters时间同步实战与深度优化 当你的机器人同时搭载激光雷达、摄像头和IMU时,最头疼的莫过于这些传感器数据像不同时区的航班一样难以协调。我曾在一个自动驾驶项目中,因为5毫秒的时间偏差导致感知系统将路灯杆…...

LingBot-Depth-ViTL14部署案例:高校CV实验室Vision Transformer几何任务教学平台搭建

LingBot-Depth-ViTL14部署案例:高校CV实验室Vision Transformer几何任务教学平台搭建 1. 引言 在计算机视觉的教学与研究中,几何理解——特别是深度感知——一直是一个核心且富有挑战性的课题。传统的深度估计方法,如立体匹配或结构光&…...

神界原罪2模组管理终极指南:告别模组冲突的免费解决方案

神界原罪2模组管理终极指南:告别模组冲突的免费解决方案 【免费下载链接】DivinityModManager A mod manager for Divinity: Original Sin - Definitive Edition. 项目地址: https://gitcode.com/gh_mirrors/di/DivinityModManager 还在为《神界:…...

如何用TotalSegmentator解决医学影像分割难题:5个高效方案详解

如何用TotalSegmentator解决医学影像分割难题:5个高效方案详解 【免费下载链接】TotalSegmentator Tool for robust segmentation of >100 important anatomical structures in CT and MR images 项目地址: https://gitcode.com/gh_mirrors/to/TotalSegmentato…...

foobar2000歌词插件foo_openlyrics:打造专业音乐播放体验的终极解决方案

foobar2000歌词插件foo_openlyrics:打造专业音乐播放体验的终极解决方案 【免费下载链接】foo_openlyrics An open-source lyric display panel for foobar2000 项目地址: https://gitcode.com/gh_mirrors/fo/foo_openlyrics 在数字音乐时代,一个…...

OpenProject:企业级开源项目管理解决方案,提升团队协作效率47%

OpenProject:企业级开源项目管理解决方案,提升团队协作效率47% 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject 在数字化转型…...

韦老师-停止免费分享自己:为价值设界,方得尊重

停止免费分享自己:为价值设界,方得尊重——你不是不够好,而是太早、太轻易地“白送”了自己🔥 核心真相 你是否常感困惑: 自己努力又真诚,却总被忽视?身边“不如你”的人,反而更易获…...

解锁智能内容获取:Jina AI Reader深度解析与实战指南

解锁智能内容获取:Jina AI Reader深度解析与实战指南 【免费下载链接】reader Convert any URL to an LLM-friendly input with a simple prefix https://r.jina.ai/ 项目地址: https://gitcode.com/GitHub_Trending/rea/reader 在AI应用开发中,如…...

别再乱用T检验了!SPSS实战:手把手教你根据数据特征选对统计方法(含方差齐性检验)

数据统计方法选择实战指南:从正态性检验到方法决策 面对实验组与对照组的成绩对比、用药前后的指标分析等常见研究场景,许多研究者常陷入"该用T检验、方差分析还是非参数检验"的困境。统计方法选择错误可能导致结论失真,而正确的选…...

从Verilog代码到硬件实现:手把手教你理解Round-Robin仲裁器的核心逻辑

从Verilog代码到硬件实现:手把手教你理解Round-Robin仲裁器的核心逻辑 在数字电路设计中,仲裁器(Arbiter)是一个至关重要的组件,它负责在多个请求者(Requestor)之间公平地分配共享资源。Round-R…...

3步搞定电脑噪音:FanControl智能风扇控制完全指南

3步搞定电脑噪音:FanControl智能风扇控制完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fan…...

InnoSetup打包进阶:除了签名,这些配置细节让你的安装包更专业(附版本信息修复)

InnoSetup打包进阶:专业级安装包优化全指南 当你用InnoSetup完成基础打包后,是否遇到过这些尴尬?用户反馈安装包属性里版本号全是0.0.0.0,卸载程序被安全软件警告,或者安装界面看起来像业余作品。这些问题看似小细节&…...

垂直车位泊车自动化路径规划仿真:Matlab代码实现与探索

自动泊车垂直车位泊车 垂直泊车路径规划仿真(matlab代码) 最近在折腾自动泊车的垂直车位仿真,发现路径规划这玩意儿真是让人又爱又恨。今天咱们用Matlab实现一个简化版的Hybrid A*算法,看看怎么让小车优雅地倒进垂直车位。 先看个有意思的现…...

告别枯燥指令!用Chestcommands插件为你的Minecraft服务器打造可视化菜单(附完整配置模板)

告别枯燥指令!用Chestcommands插件为你的Minecraft服务器打造可视化菜单 在Minecraft服务器运营中,最让服主头疼的问题之一就是玩家对复杂指令的抵触情绪。想象一下这样的场景:新手玩家刚进入服务器,面对满屏的/warp、/shop、/ki…...

Vrep仿真新手必看:如何用Graph功能快速绘制UR3机械臂运动轨迹(附常见错误修正)

Vrep仿真实战:用Graph功能精准绘制UR3机械臂三维运动轨迹 在工业机器人仿真领域,可视化机械臂的运动轨迹是验证算法、优化路径规划的关键环节。Vrep(现称CoppeliaSim)作为一款功能强大的机器人仿真平台,其内置的Graph…...

3步打造完美歌词体验:foobar2000开源歌词插件完整指南

3步打造完美歌词体验:foobar2000开源歌词插件完整指南 【免费下载链接】foo_openlyrics An open-source lyric display panel for foobar2000 项目地址: https://gitcode.com/gh_mirrors/fo/foo_openlyrics 还在为foobar2000找不到合适的歌词插件而烦恼吗&am…...

如何在macOS上正确安装Gopeed下载管理器?技术指南与问题排查

如何在macOS上正确安装Gopeed下载管理器?技术指南与问题排查 【免费下载链接】gopeed A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter. 项目地址: https://gitcode.com/GitHub_Trendi…...

[RK3568][Android12.0]--- 深入解析预置APK的三种模式与实现原理

1. RK3568 Android12预置APK的核心机制 在RK3568平台上开发Android12系统时,预置第三方APK是个高频需求。Rockchip官方提供了三种预置模式,每种模式对应不同的使用场景和系统行为。我第一次接触这个功能时,发现官方文档只有简单说明&#xff…...

LS-DYNA新手避坑指南:用LS-PrePost给复合材料壳单元铺层的四种方法(附BETA参数设置对比表)

LS-DYNA复合材料建模实战:壳单元铺层方向定义全解析与避坑策略 复合材料在抗冲击分析中的建模一直是LS-DYNA初学者的痛点,尤其是铺层方向的定义。第一次打开LS-PrePost时,面对四种不同的铺层定义方法,我完全懵了——*SECTION_SHE…...

ISP降噪模块False Colors处理不当导致的动态色边溢出剖析

1. 动态色边溢出问题现象解析 最近在调试高通ISP图像处理流水线时,遇到一个棘手的问题:在拍摄动态场景时,画面中移动的边缘会出现不规则的彩色溢出伪影。这种色边不像传统色差那样固定,而是随着物体移动不断变化,就像给…...

别再只盯着GPU了!手把手带你用Python模拟一个超简版NPU(附代码)

用Python模拟NPU核心原理:从矩阵乘法到存储计算一体化 在咖啡厅里打开笔记本电脑运行神经网络模型时,你是否注意过风扇突然狂转?这背后是传统处理器架构面对AI计算时的力不从心。NPU(神经网络处理器)的独特之处在于&am…...

KaiwuDB 亮相储能国际峰会!Data+AI 新基座,加速储能智能升级

在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...

Pikachu靶场实战:CSRF漏洞攻防全解析

1. CSRF漏洞初探:从原理到危害 第一次听说CSRF漏洞时,我也是一头雾水。这玩意儿到底是怎么把用户给"骗"了的?简单来说,CSRF就像是一个擅长模仿的骗子,它能伪装成你在网站上执行各种操作。想象一下&#xff0…...

RADICL-seq:更高效、更精准的染色质-RNA互作研究方法,绘制更完整的染色质-RNA互作图谱

RADICL-seq[1](RNA And DNA Interacting Complexes Ligated and sequenced)是一种探索 RNA 与染色质相互作用的新技术,绘制细胞核内 RNA 与染色质的相互作用图谱,能够鉴定不同类转录本的基因组覆盖模式,以及细胞特异性…...

保姆级教程:用ArcGIS Pro的Spatial Analyst搞定学校选址分析(附完整数据与权重设置)

从零到精通:ArcGIS Pro空间分析实战——学校选址全流程拆解 当你第一次打开ArcGIS Pro面对学校选址任务时,是否曾被各种工具按钮和参数设置弄得手足无措?本文将带你完整走一遍专业GIS分析师的工作流程,不仅告诉你"点击哪里&…...

基于MATLAB的CNN和SVM苹果质量智能检测与分级系统研究

摘要:苹果作为重要的经济作物,其质量分级对于提高市场竞争力和经济效益具有重要意义。传统的人工分级方法存在效率低、主观性强、成本高等问题。为实现苹果质量的快速、准确、客观分级,本文提出了一种基于MATLAB实现的CNN-SVM苹果质量智能检测…...

龙迅LT9611芯片深度评测:MIPI转HDMI1.4的4K输出性能实测

龙迅LT9611芯片深度评测:MIPI转HDMI1.4的4K输出性能实测 在当今高分辨率视频传输需求激增的背景下,接口转换芯片的性能直接影响终端设备的显示质量。作为一款专为移动设备设计的高性能转换方案,龙迅LT9611凭借其双端口MIPI输入和4K HDMI输出能…...