通过键值对访问字典
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
在Python中,如果想将字典的内容输出也比较简单,可以直接使用print()函数。例如,要想打印dictionary字典,则可以使用下面的代码:
name = ['绮梦','冷伊一','香凝','黛兰'] # 作为键的列表
sign = ['水瓶座','射手座','双鱼座','双子座'] # 作为值的列表
dictionary = dict(zip(name,sign)) # 转换为字典
print(dictionary)
执行结果如下:
{'绮梦': '水瓶座', '冷伊一': '射手座', '香凝': '双鱼座', '黛兰': '双子座'}
但是,在使用字典时,很少直接输出它的内容。一般需要根据指定的键得到相应的结果。在Python中,访问字典的元素可以通过下标的方式实现,与列表和元组不同,这里的下标不是索引号,而是键。例如,想要获取“冷伊一”的星座,可以使用下面的代码:
print(dictionary['冷伊一'])
执行结果如下:
射手座
在使用该方法获取指定键的值时,如果指定的键不存在,就会抛出如图25所示的异常。

图25 获取指定键不存在时抛出异常
在实际开发中,我们可能不知道当前存在什么键,所以需要避免该异常的产生。具体的解决方法是使用if语句对不存在的情况进行处理,即设置一个默认值。例如,可以将上面的代码修改为以下内容:
print("冷伊的星座是:",dictionary['冷伊'] if '冷伊' in dictionary else '我的字典里没有此人')
当“冷伊”不存在时,将显示以下内容:
冷伊的星座是:我的字典里没有此人
另外,Python中推荐的方法是使用字典对象的get()方法获取指定键的值,语法格式如下:
dictionary.get(key[,default])
参数说明:
l dictionary:为字典对象,即要从中获取值的字典。
l key:为指定的键。
l default:为可选项,用于指定当指定的“键”不存在时,返回一个默认值,如果省略,则返回None。
例如,通过get()方法获取“冷伊一”的星座,可以使用下面的代码:
print("冷伊一的星座是:",dictionary.get('冷伊一'))
执行结果如下:
冷伊一的星座是: 射手座
说明:为了解决在获取指定键的值时,因不存在该键而导致抛出异常,可以为get()方法设置默认值,这样当指定的键不存在时,得到结果就是指定的默认值。例如,将上面的代码修改为以下内容。
print("冷伊的星座是:",dictionary.get('冷伊','我的字典里没有此人'))
将得到以下结果:
冷伊的星座是: 我的字典里没有此人
场景模拟:将某大学寝室里的4位美女的名字和星座保存在一个字典里,然后再定义一个保存各个星座性格特点的字典,根据这两个字典获取某位美女的性格特点。
![]()
实例10 根据星座测试性格特点
在IDLE中创建一个名称为sign_get.py的文件,然后在该文件中创建两个字典,一个保存名字和星座,另一个保存星座和性格特点,最后从这两个字典中取出相应的信息组合出想要的结果,并输出,代码如下:
name = ['绮梦','冷伊一','香凝','黛兰'] # 作为键的列表
sign_person = ['水瓶座','射手座','双鱼座','双子座'] # 作为值的列表
person_dict = dict(zip(name,sign_person)) # 转换为个人字典
sign_all =['白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座','水瓶座','双鱼座']
nature = ['有一种让人看见就觉得开心的感觉,阳光、乐观、坚强,性格直来直去,就是有点小脾气。',
'很保守,喜欢稳定,一旦有什么变动就会觉得心里不踏实,性格比较慢热,是个理财高手。',
'喜欢追求新鲜感,有点小聪明,耐心不够,因你的可爱性格会让很多人喜欢和你做朋友。',
'情绪容易敏感,缺乏安全感,做事情有坚持到底的毅力,为人重情重义,对朋友和家人特别忠实。',
'有着远大的理想,总想靠自己的努力成为人上人,总是期待被仰慕被崇拜的感觉。',
'坚持追求自己的完美主义者。',
'追求平等、和谐,交际能力强,因此朋友较多。最大的缺点就是面对选择总是犹豫不决。',
'精力旺盛,占有欲强,对于生活很有目标,不达目的誓不罢休,复仇心重。',
'崇尚自由,勇敢、果断、独立,身上有一股勇往直前的劲儿,只要想做,就能做。',
'是最有耐心的,做事最小心。做事脚踏实地,比较固执,不达目的不罢休,而且非常勤奋。',
'人很聪明,最大的特点是创新,追求独一无二的生活,个人主义色彩很浓重的星座。',
'集所有星座的优缺点于一身。最大的优点是有一颗善良的心,愿意帮助别人。']
sign_dict = dict(zip(sign_all,nature)) # 转换为星座字典
print("【香凝】的星座是",person_dict.get("香凝")) # 输出星座
print("\n 她的性格特点是:\n\n",sign_dict.get(person_dict.get("香凝"))) # 输出性格特点
运行实例后,将显示如图26所示的结果。

图26 输出某个人的星座和性格特点

相关文章:
通过键值对访问字典
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,如果想将字典的内容输出也比较简单,可以直接使用print()函数。例如,要想打印dictionary字典ÿ…...
海外仓扫码管理系统怎么选?精准,高效管理需求才是核心需求
海外仓对那些想拓展国际市场的商家来说还是非常重要的,大部分的货物都需要先运到海外仓,才能继续进行下一步的物流快递发货。 那对于海外仓本身来说,当面临大量订单的时候,怎么快速的管理订单,拣选货物就变得十分重要…...
基于51单片机的智能灯光控制系统
一.硬件方案 智能灯光控制系统由单片机最小系统、人体感应模块、关照强度模块、灯光控制模块、电源模块和灯泡组成。本文以STC89C52单片机为核心,通过利用光照度和红外人体感应相结合主动与被动的探测方法,现了室内无人或者关照充足时灯光自动光灯&…...
测试开发面试题
简述自动化测试的三大等待 强制等待。直接使用time.sleep()方法让程序暂停指定的时间。优点是实现简单,缺点是不够灵活,可能会导致不必要的等待时间浪费。隐式等待。设置一个固定的等待时间,在这个时间内不断尝试去查找元素,如果…...
多线程JUC 第2季 BlockingQueue 阻塞队列
一 阻塞队列 1.1 阻塞队列介绍 阻塞队列(BlockingQueue)是一个在队列基础上又支持了两个附加操作的队列: put方法:当队列装满时,添加的线程则被阻塞,直到队列不满,则可用。 take方法&#x…...
【MySQL精通之路】全文搜索(3)-带查询扩展的全文搜索
博主PS:你可以把他理解为,查询猜测,膨胀查询,查询的第六感。 全文搜索支持查询扩展(尤其是其变体“盲查询扩展”)。 当搜索短语太短时,这通常很有用,这通常意味着用户依赖于全文搜索…...
【面试必看】Java并发
并发 1. 线程 1. 线程vs进程 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。 系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进…...
C++的第一道门坎:类与对象(一)
1.面向过程与面向对象 1.1面向过程 我们之前学习的C语言就是一种面向过程的语言,面向过程的语言强调的是具体实现的过程,一般用函数来具体实现。我们用面向过程的思想,就可以把炒菜分为以下几个步骤: 1.2面向对象 而对于面向对象的语言而言…...
经典面试题:MySQL如何调优?
目录 前言1. SQL查询优化2. 索引优化3. 表结构设计4. 硬件与配置优化5. 日常维护6. 性能测试与基准测试 前言 MySQL如何进行调优?这是面试中容易被问到的高频问题。 1. SQL查询优化 避免使用select* :只选取需要的列,减少数据传输量。使用…...
【程序员如何送外卖】
嘿,咱程序员要在美团送外卖,那还真有一番说道呢。 先说说优势哈,咱程序员那逻辑思维可不是盖的,规划送餐路线什么的,简直小菜一碟。就像敲代码找最优解一样,能迅速算出怎么送最省时间最有效率。而且咱平时…...
【git pull 和 push详解】
git pull 和 push详解 1.背景2.命令和解释2.1 git pull简介详情 2.2 git push简介Git Push 参数及详细解释 1.背景 在分布式开发环境中,git pull和git push的使用确保了团队成员之间的代码一致性,减少了不同步导致的问题。它们简化了版本管理,…...
数据挖掘导致直接路径读(direct path read)耗尽了IO
一大早就有喊业务卡的,检查等待事件源头,均为oracle写等待 查看IO负载持续维持在100%繁忙 后台有两个并行rman备份在,停止备份io繁忙没有好转,检查最近ash报告,发现DDTEK ODBC Oracle程序模块占用最高 检查该模块&…...
用队列实现栈 用栈实现队列 设计循环队列
用队列实现栈 思路 栈的特点:后进先出 队列的特点:先进先出 使用两个队列实现栈: 我们可以使用两个队列,一个队列为:空队列,一个队列为:非空队列 当我们要出队列时: 将 size - …...
BFS解决最短路问题(详解)
目录 BFS简介 && 框架: 一.二叉树的最小深度 二:迷宫中里入口最近的出口: 三.最小基因变化: 四:单词接龙: 五:为高尔夫比赛砍树: BFS简介 && 框架: 说到BFS…...
按尺寸筛选轮廓图中的轮廓
1.按短边筛选 原始轮廓图: import cv2 import numpy as np# 读取轮廓图 contour_image cv2.imread(..\\IMGS\\pp_edge.png, cv2.IMREAD_GRAYSCALE)# 使用cv2.findContours()函数获取所有轮廓 contours, _ cv2.findContours(contour_image, cv2.RETR_EXTERNAL, cv2…...
VBA高级应用30例:实现在列表框内及列表框间实现数据拖动
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...
「AIGC算法」R-tree算法
R-tree算法是一种非常实用的空间数据索引技术,它可以帮助我们在复杂的空间数据中快速找到我们想要的信息。下面我将用一些生活中的例子来帮助大家更好地理解R-tree算法。 1. 定义与原理 想象一下,你有一个巨大的图书馆,里面有成千上万本书,每本书都有它在书架上的特定位置…...
2024软考上半年嵌入式系统设计师考试回顾
一:考试准备工作 1:基本上都是提前30分钟进考场,进入考试教室的时候,会有监考老师核对身份证和准考证; 2:进入考试教室之后,会再一次核对身份信息,并且有监考老师手持扫描仪&#x…...
MIT6.828 Lab2-1 Using gdb
Using gdb gdb使用: xv6 gdb调试方法 问题1: Looking at the backtrace output, which function called syscall? 按照提示开启gdb后键入: b syscall c layout src backtrace输出结果: (gdb) backtrace #0 syscall () at k…...
mysqldump提示Using a password on the command line interface can be insecured的解决办法
mysql数据库备份一句话执行命令 mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > allbackupfile.sql 提示如下提示 [rootyfvyy5b2on3knb8q opt]# mysqldump --all-databases -h127.0.0.1 > allbackupfile.sql mysqldump: Couldnt execute SELECT COLUMN_NA…...
突破QQ音乐格式壁垒:qmcdump开源工具全场景应用指南
突破QQ音乐格式壁垒:qmcdump开源工具全场景应用指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 当你兴冲…...
百川2-13B+OpenClaw:学术论文参考文献自动校对系统
百川2-13BOpenClaw:学术论文参考文献自动校对系统 1. 为什么需要参考文献自动化校对 去年写博士论文时,我曾在参考文献格式上栽过跟头。距离截稿还有48小时,导师突然指出我的参考文献列表存在三处格式不一致——有的作者名全大写࿰…...
无网络环境方案:OpenClaw离线运行千问3.5-9B
无网络环境方案:OpenClaw离线运行千问3.5-9B 1. 为什么需要离线运行方案 在金融、医疗等对数据安全要求极高的场景中,我们常常需要完全离线的AI解决方案。去年我在为某研究机构设计自动化文档处理系统时,就遇到了这样的需求——他们要求所有…...
PDFMathTranslate:如何实现学术PDF的完美翻译?3个关键技巧让阅读效率提升300%
PDFMathTranslate:如何实现学术PDF的完美翻译?3个关键技巧让阅读效率提升300% 【免费下载链接】PDFMathTranslate PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/Dee…...
javaweb摄影约拍系统的设计与实现聊天
目录同行可拿货,招校园代理 ,本人源头供货商聊天功能需求分析技术实现方案后端设计前端实现扩展功能建议性能优化项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 聊天功能需求分析 在摄…...
明日方舟游戏资源库:高级游戏数据分析与开发实战指南
明日方舟游戏资源库:高级游戏数据分析与开发实战指南 【免费下载链接】ArknightsGameResource 明日方舟客户端素材 项目地址: https://gitcode.com/gh_mirrors/ar/ArknightsGameResource 《明日方舟》游戏资源库是一个完整的开源项目,为开发者和数…...
GigE Vision 多相机同步终极检查清单(可直接用于项目部署)
GigE Vision 多相机同步终极检查清单(可直接用于项目部署)📋 GigE Vision 多相机同步终极检查清单一、网络基础设施二、PTP 配置三、硬件触发四、相机参数一致性五、软件数据处理六、验证手段📋 GigE Vision 多相机同步终极检查清…...
Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增
Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增 【免费下载链接】formbricks Open Source Qualtrics Alternative 项目地址: https://gitcode.com/GitHub_Trending/fo/formbricks Formbricks作为一款开源的Qualtrics替代方案,在v3.5.0版本中…...
NEURAL MASK RMBG-2.0技术演进:从RMBG-1.0到ART-ENGINE的架构升级
NEURAL MASK RMBG-2.0技术演进:从RMBG-1.0到ART-ENGINE的架构升级 1. 背景与挑战 传统的图像抠图工具在面对复杂场景时往往力不从心。当遇到细微的发丝、半透明物体或者复杂的光影交错时,这些工具要么产生锯齿状的边缘,要么无法准确区分主体…...
原神智能辅助工具BetterGI:三维价值框架下的游戏效率提升方案
原神智能辅助工具BetterGI:三维价值框架下的游戏效率提升方案 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音…...
