iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何解决Python字典查找报Keyerror的问题
  • 654
分享到

如何解决Python字典查找报Keyerror的问题

2023-06-15 05:06:09 654人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍如何解决python字典查找报Keyerror的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python的字典一般都直接查找key ,比如dict={'a':1,'b&#

这篇文章主要介绍如何解决python字典查找报Keyerror的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Python的字典一般都直接查找key ,比如

dict={'a':1,'b':2,'c':3}print(dict['a'])

但是如果在查找的key不存在的时候就会报:KeyError:

比如你要查看print(dict['d'])

由于这个时候dict里面并没有这个key ,所以就会直接报错,那么这个时候其实python给我们提供了一种很棒的解决方法,那就是用

setdefault,用法如下: dict.setdefault(key,[这里设置如果不存在想将值设置为啥,默认为None])

如何解决Python字典查找报Keyerror的问题

那么这里我们可以用此方法解决:

print(dict.setdefault('d',0))

然后就没有问题啦,注意下就是setdefault是如果要想往dict中添加新值的时候就使用此函数,如果只是单纯想要做查找,碰到key不存在或者希望在通过这个键读取值的时候能得到一个默认值,那么建议用defaultdict

首先先介绍下这个所谓的defaultdict,来自于collections模块,collections是个集合模块,defaultdict(function_factory)构建的是一个类似dictionary的对象,其中key的值,自行确定赋值,但是value的类型是function_factory的类实例,而且具有默认值.这里还引入了一个概念就是工厂函数,python的工厂函数就是指那些内建函数都是类对象,当你调用他们时,实际上是创建了一个类实例。

比如int(),str(),set()等,这里我们看下例子:

import collectionss = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]d = collections.defaultdict(list)for k, v in s:    d[k].append(v)print(d['yellow'])print(d['white'])print(list(d.items()))

我们最后得到的输出结果如下:

如何解决Python字典查找报Keyerror的问题

我们可以看到,当d中没有对应的key时最后返回的是个空列表,那是因为我们在设置defaultdict的时候用的工厂函数是list,而list的默认值是空列表,下面我们在看下如果工厂函数是set()会是什么样子

import collectionss = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]d = collections.defaultdict(set)for k, v in s:    d[k].add(v)print(d['yellow'])print(d['white'])print(list(d.items()))

结果输出如下:

如何解决Python字典查找报Keyerror的问题

补充:python报错出现 KeyError: 'longitude'

python报错出现 KeyError: ‘longitude'

报错界面如下图所示:

如何解决Python字典查找报Keyerror的问题

我在网上寻找了方法,确实找到一个解决方案:对你可能有用的解决方案一

但是我试了还是没用,于是,当我定睛一看,发现竟又是由于俺的粗心造成的。啊,如下图,按在longitude前面少了个逗号,

如下图:

如何解决Python字典查找报Keyerror的问题

以上是“如何解决Python字典查找报Keyerror的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何解决Python字典查找报Keyerror的问题

本文链接: https://www.lsjlt.com/news/278200.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决Python字典查找报Keyerror的问题
    这篇文章主要介绍如何解决Python字典查找报Keyerror的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python的字典一般都直接查找key ,比如dict={'a':1,'b&#...
    99+
    2023-06-15
  • Python如何在字典中查找元素
    本篇内容介绍了“Python如何在字典中查找元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!上下文代码smart_girl =&...
    99+
    2023-07-06
  • python之如何查找多层嵌套字典的值
    目录python查找多层嵌套字典的值python字典的多层嵌套,如何快速定位到需要的数据另一种方法,下载一个jsonpath包$..key5总结python查找多层嵌套字典的值 de...
    99+
    2023-05-19
    python嵌套字典 python字典多层嵌套 多层嵌套字典
  • 如何解决电脑没有网络Linux如何离线查询字典的问题
    这篇文章主要讲解了“如何解决电脑没有网络Linux如何离线查询字典的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决电脑没有网络Linux如何离线查询字典的问题”吧!  首先你需要...
    99+
    2023-06-13
  • Python列表和字典踩坑问题怎么解决
    这篇“Python列表和字典踩坑问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python列表和字典踩坑问题怎么...
    99+
    2023-06-30
  • Python 字典常见问题解答:解决你的疑难杂症
    1. 如何在字典中添加键值对? 在字典中添加键值对,可以使用以下两种方法: # 方法一:使用方括号 my_dict["key"] = "value" # 方法二:使用 update() 方法 my_dict.update({"key":...
    99+
    2024-02-22
    Python 字典 键值对 数据类型 运算符
  • 如何在Oracle中查找和解决性能问题
    在Oracle中查找和解决性能问题通常涉及以下步骤: 识别性能问题:首先要确定哪些查询或操作导致了性能问题。可以通过监视系统性能...
    99+
    2024-04-09
    Oracle
  • Python中字典的增删改查如何理解
    Python中字典的增删改查如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python中的字典一、字典的特点二、创建字典创建字典用大括号表示dict1={'...
    99+
    2023-06-22
  • 如何解决php控制器找不到报错的问题
    本教程操作环境:windows7系统、thinkphp v6版、Dell G3电脑。如何解决php控制器找不到报错的问题TP6多应用模块报错找不到控制器问题 主要内容还是在单应用模块更改为多应用模块时出现的报错问题,针对萌新,没有经过系统...
    99+
    2024-04-02
  • 如何解决php domdocument找不到的问题
    具体问题: php - 找不到 'DOMDocument'类 我在Magento应用程序的页面上发现错误;当我访问它时,它总是显示此消息错误: Fatal error: Class...
    99+
    2024-04-02
  • python使用json将字符串转字典报错的解决
    目录问题描述问题分析问题解决1、将原格式换成双引号2、换其它方式来转换总结问题描述 C:\Users\lenovo\AppData\Local\Programs\Python\Pyt...
    99+
    2023-02-08
    python使用json json字符串转字典报错 json字符串转字典
  • 如何解决mysql查询字符集不匹配问题
    这篇文章主要介绍如何解决mysql查询字符集不匹配问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有时候MySQL数据库建表的时候采用的是latin的字符集,而网页中查询的是utf...
    99+
    2024-04-02
  • 如何解决ifconfig命令未找到的问题
    这篇文章给大家分享的是有关如何解决ifconfig命令未找到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决ifconfig命令未找到对于命令未找到,通常情况下是因为没有安装软件包导致的。但是,大部分系统...
    99+
    2023-06-05
  • 如何解决PHP找不到模块的问题
    在进行PHP语言开发过程中,经常会遇到"找不到模块"的错误提示,这是由于PHP配置文件中没有引用正确的扩展模块所导致的。PHP虽然是一门开放源代码的脚本语言,但在很多方面都需要进行配置,以便让代码正常运行。接下来,我们就...
    99+
    2023-05-14
  • Tomcat报404问题如何解决
    这篇文章主要讲解了“Tomcat报404问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Tomcat报404问题如何解决”吧!Tomcat报404问题解决正确的情况正确的运行框:正...
    99+
    2023-07-05
  • 如何解决安装Python后IDA中找不到Python模块的问题
    这篇文章主要介绍如何解决安装Python后IDA中找不到Python模块的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!        IDA...
    99+
    2023-06-25
  • 如何解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
    这篇文章主要介绍了如何解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下...
    99+
    2023-06-20
  • python字符串数组互转问题如何解决
    这篇文章主要介绍了python字符串数组互转问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python字符串数组互转问题如何解决文章都会有所收获,下面我们一起来看看吧。字符串转list数组str&n...
    99+
    2023-07-05
  • python如何查找序列中的数字
    你可以使用循环来遍历序列,并通过条件语句来判断是否是数字。以下是一个示例代码: sequence = [1, 'a...
    99+
    2024-04-08
    python
  • 如何解决php找不到include方法的问题
    这篇文章主要介绍了如何解决php找不到include方法的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php找不到include方法的解决办法:1、检查include文...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作