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

【Python】 Python 字典查询:‘has_key()‘ 方法与 ‘in‘ 关键字的比较

基本原理

在 Python 中,字典(dict)是一种非常常用的数据结构,用于存储键值对。字典的查询操作是编程中常见的任务之一。在 Python 2.x 版本中,has_key() 方法被用来检查字典中是否存在某个键。然而,在 Python 3.x 版本中,has_key() 方法已经被废弃,取而代之的是使用 in 关键字。

为什么 has_key() 被废弃?

Python 语言的设计哲学之一是“简洁胜于复杂”,has_key() 方法虽然在功能上与 in 关键字相同,但它是一个方法,而 in 是一个关键字,使用关键字可以使得代码更加简洁和直观。

in 关键字的用法

in 关键字可以用于检查字典中是否存在某个键,也可以检查列表、集合等其他数据结构中是否存在某个元素。使用 in 关键字进行字典查询的语法如下:

if 'key' in my_dict:# 键存在
else:# 键不存在

代码示例

示例 1:使用 in 关键字检查字典键
# 创建一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}# 检查键 'a' 是否存在
if 'a' in my_dict:print("键 'a' 存在")
else:print("键 'a' 不存在")# 输出: 键 'a' 存在
示例 2:使用 in 关键字检查字典值
# 检查值 2 是否存在
if 2 in my_dict.values():print("值 2 存在")
else:print("值 2 不存在")# 输出: 值 2 存在
示例 3:在循环中使用 in 关键字
# 遍历字典并检查每个键
for key in my_dict:if key in ['a', 'b']:print(f"找到键: {key}")# 输出:
# 找到键: a
# 找到键: b

注意事项

  • 在 Python 3.x 中,不应该使用 has_key() 方法,因为它已经被废弃。
  • 使用 in 关键字不仅可以检查键,还可以检查值,这使得它更加灵活。
  • 当使用 in 关键字检查字典中的值时,实际上是在检查 dict.values(),这是一个返回字典所有值的视图对象。

结论

在 Python 3.x 中,推荐使用 in 关键字来查询字典中的键或值,因为它更加简洁、直观,并且符合 Python 的设计哲学。has_key() 方法虽然在 Python 2.x 中有效,但在 Python 3.x 中已经被废弃,因此,为了代码的兼容性和可维护性,我们应该避免使用它。通过上述示例,我们可以看到 in 关键字在实际编程中的应用非常广泛,它使得代码更加清晰易懂。

>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具1.0.4 (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>

相关文章:

【Python】 Python 字典查询:‘has_key()‘ 方法与 ‘in‘ 关键字的比较

基本原理 在 Python 中,字典(dict)是一种非常常用的数据结构,用于存储键值对。字典的查询操作是编程中常见的任务之一。在 Python 2.x 版本中,has_key() 方法被用来检查字典中是否存在某个键。然而,在 Pyt…...

IDEA通过tomcat运行注意事项

配置run--》edit configurations 以下的A B部分要保持一致 A和B的路径要保持一致...

Unity Hub 添加模块报错 Validation Failed 的解决办法

提供两种方法,请自行选择其中一种。 在C:\Windows\System32\drivers\etc\hosts中添加下面的内容并保存后,完全关闭Unity Hub并重新打开,再次尝试下载刚刚失败的模块。 127.0.0.1 public-cdn.cloud.unity3d.com 127.0.0.1 public-cdn.cloud.…...

软件功能测试的类型和流程分享

在现代社会,软件已经成为人们生活中不可或缺的一部分,而在软件的开发过程中,功能测试是不可或缺的环节。软件功能测试指的是对软件系统的功能进行检查和验证,以确保软件在各种情况下能够正常运行,并且能够按照用户需求…...

【C语言】atoi函数的使用及模拟实现

atoi (ascii to integer),是把参数 str 所指向的字符串转换为一个整数(int类型)的库函数。 使用场景 引子: 有兴趣的朋友可以听我逐句翻译一下cpluscplus.com里的这段解释(要考六级了练一下): …...

Golang:使用bndr/gotabulate实现美观的打印表格数据

bndr/gotabulate 可以使用 Go 语言简单、美观的打印表格数据 文档 https://pkg.go.dev/github.com/bndr/gotabulatehttps://github.com/bndr/gotabulate 安装 go get github.com/bndr/gotabulate代码示例 package mainimport ("fmt""github.com/bndr/gotab…...

充电宝哪款好用?什么牌子充电宝耐用?充电宝选购要点总结

随着科技的飞速发展,充电宝已成为现代生活的必备之物。无论是日常通勤、旅行出差,还是在紧急情况下,充电宝都能为我们的电子设备提供可靠的电力支持。然而,面对市场上众多品牌和型号的充电宝,如何选择一款性价比高的充…...

【启程Golang之旅】基本变量与类型讲解

欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了…...

使用docker部署项目

一、docker私有镜像仓库 1、docker私有镜像仓库 库(Repository)是集中存放镜像的地方,又分为公共镜像和私有仓库。 当我们执行docker pull xxx的时候,它实际上是从registry.docker.com这个地址去查找,这就是Docker公…...

智慧林业云巡平台 客户端和移动端(支持语音和视频)自动定位巡护,后端离线路线监测

目前现状 无法客观、方便地掌握护林员的到位情况,因而无法有效地保证巡护人员按计划要求,按时按周期对所负责的林区开展巡护,使巡护工作的质量得不到保证。遇到火情、乱砍滥伐等灾情时无法及时上报处理,现场状况、位置等信息描述…...

【最优化方法】实验三 无约束最优化方法的MATLAB实现

实验的目的和要求:通过本次实验使学生进一步熟悉掌握使用MATLAB软件,并能利用该软件进行无约束最优化方法的计算。 实验内容: 1、最速下降法的MATLAB实现 2、牛顿法的MATLAB实现 3、共轭梯度法的MATLAB…...

kafka-偏移量图解

生产者偏移量:生产者发送消息时写入到哪个位置(主题的每个分区会存储一个 leo 即将写入消息的偏移量),每次写完消息 leo 会 1 消费者偏移量:消费者从哪个位置开始消费消息,小于等于 leo,每个组…...

内网安全--隧道技术-MSF上线本地

免责声明:本文仅做技术交流与学习... 不得不说,小白最近也是用上了viper,这里要特别感谢一下my bro 北岭敲键盘的荒漠猫 MSF--viper: --生成马子-->上线 --进入meterpreter. 1-查看路由,添加路由. 查看路由信息 : run autoroute -p run post/multi/manage/autoroute 添加…...

初识STM32单片机-TIM定时器

初识STM32单片机-TIM定时器 一、定时器概述二、定时器类型2.1 基本定时器(TIM6和TIM7)2.2 通用定时器(TIM2、TIM3、TIM4和TIM5)2.3 高级定时器(TIM1和TIM8) 三、定时中断基本结构和时基单元工作时序3.1 定时器基本结构3.2 预分频器时序3.3 计数器时序3.3.1 计数器有无预装时序(…...

NSSCTF-Web题目3

目录 [BJDCTF 2020]easy_md5 1、知识点 2、题目 3、思路 [ZJCTF 2019]NiZhuanSiWei 1、知识点 2、题目 3、思路 第一层 第二层 第三层 [BJDCTF 2020]easy_md5 1、知识点 弱比较,强比较、数组绕过、MD5加密 2、题目 3、思路 1、首先我们跟着题目输入&a…...

基于Java实现震中附近风景区预警可视化分析实践

目录 前言 一、空间数据说明 1、表结构信息展示 2、空间范围查询 二、Java后台开发实现 1、模型层设计与实现 2、控制层设计与实现 三、Leaflet地图开发 1、地震震中位置展示 2、百公里风景区列表展示 3、风景区列表展示 4、附近风景区展示 四、总结 前言 地震这类…...

【CTF Web】CTFShow web7 Writeup(SQL注入+PHP+进制转换)

web7 1 阿呆得到最高指示&#xff0c;如果还出问题&#xff0c;就卷铺盖滚蛋&#xff0c;阿呆心在流血。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\\*|\…...

ABAP WRITE换行输出

不换行&#xff1a; write hello world!. write 春天马上就到了!. 换行&#xff1a; write hello world!. write /春天马上就到了!. 换行的第二种&#xff1a; write: hello world! ,/,春天马上就到了!....

VUE3学习第一篇:启动ruoyi

1、找到ruoyi的vue3版本 然后下载代码到本地&#xff0c; 我刚开始用的nodejs14报错&#xff0c; 后面换成nodejs16&#xff0c;启动前端成功了。 页面如下图所示...

python-数据可视化(总)

python-数据可视化 ** 数据可视化 指的是通过可视化表示来探索数据&#xff0c;它与数据挖掘**紧密相关&#xff0c;而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表&#xff0c;也可以是数以吉字节的数据 最流行的工具之一…...

Java中如何实现Excel跨工作表数据复制

本文介绍了如何在Java程序中有效地复制Excel工作表中的数据。许多Java开发人员需要将数据从一个工作表复制到另一个工作表。本文提供了一个代码示例来帮助您解决这个问题。核心是如何在Java中有效地复制Excel工作表中特定区域的数据。下面的例子是使用Java库&#xff08;具体的…...

嘉立创PCB打样被加价到170元?手把手教你用STM32H743飞控板案例解决‘拆单嫌疑’

STM32H743飞控板PCB打样避坑指南&#xff1a;如何巧妙应对嘉立创拆单判定 最近不少硬件开发者在使用嘉立创进行STM32H743飞控板PCB打样时&#xff0c;遇到了一个令人头疼的问题——原本33元的4层板打样价格突然飙升到170多元。这种情况往往是由于平台算法误判设计文件存在"…...

清北博雅考研集训营:沉浸式封闭备考,为考研人铺就上岸之路

考研的赛道上&#xff0c;从来都不缺努力的人&#xff0c;缺的是科学的规划、优质的师资和沉浸式的备考环境。清北博雅教育集团深耕考研辅导领域十余载&#xff0c;凭借专业的教学体系、大咖级师资团队、完善的教学服务和亮眼的上岸成果&#xff0c;打造了专属考研人的集训营备…...

Phi-4-mini-reasoning企业应用探索:智能客服知识推理模块集成方案

Phi-4-mini-reasoning企业应用探索&#xff1a;智能客服知识推理模块集成方案 1. 轻量级推理模型的价值 在当今企业智能化转型浪潮中&#xff0c;轻量级推理模型正成为技术落地的关键。Phi-4-mini-reasoning作为一款专注于高质量推理的开源模型&#xff0c;凭借其128K令牌的超…...

MiniCPM-o-4.5-nvidia-FlagOS部署运维:使用Docker Compose管理多服务依赖

MiniCPM-o-4.5-nvidia-FlagOS部署运维&#xff1a;使用Docker Compose管理多服务依赖 你是不是也遇到过这种情况&#xff1f;想部署一个AI模型&#xff0c;发现它依赖一堆东西&#xff1a;模型服务本身、数据库、缓存、可能还有别的辅助工具。一个个手动去装、去配置、去启动&…...

5大核心功能解密:douyin-downloader抖音下载器实战指南

5大核心功能解密&#xff1a;douyin-downloader抖音下载器实战指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...

元宇宙拆迁队:强拆违规建筑日入十万

从Bug猎人到空间执法官当传统的软件测试工程师还在为揪出一个隐蔽的NullPointerException而欢欣鼓舞时&#xff0c;一片更为广阔、也更为凶险的新战场已经悄然开启——元宇宙。在这里&#xff0c;代码的缺陷不再仅仅导致程序崩溃或数据丢失&#xff0c;它们会具象化为扭曲的空间…...

如何打破微信单设备限制:WeChatPad终极指南

如何打破微信单设备限制&#xff1a;WeChatPad终极指南 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是不是也遇到过这样的尴尬时刻&#xff1f;在电脑上登录微信工作&#xff0c;手机上的微信就被迫下线…...

SEO自动化工具如何提高网站排名_SEO自动化工具如何进行数据报告

<h2>SEO自动化工具如何提高网站排名</h2> <p>在当今互联网时代&#xff0c;网站的排名直接关系到其流量和业务增长。SEO自动化工具如何在提高网站排名方面发挥作用呢&#xff1f;本文将从多个角度展开讨论&#xff0c;帮助你理解这些工具如何提升网站在搜索引…...

Mojo加速Python科学计算:如何在72小时内将AI推理速度提升8.6倍(附完整可运行代码)

第一章&#xff1a;Mojo与Python混合编程概述Mojo 是一种为 AI 系统量身打造的现代系统编程语言&#xff0c;兼具 Python 的易用性与 C/C 的执行效率。它原生兼容 Python 生态&#xff0c;允许开发者在同一个项目中无缝调用 Python 模块、复用现有 NumPy/Torch 代码&#xff0c…...