解决Python获取字典dict中不存在的值时出错问题

yipeiwu_com5年前Python基础

描述:Python2.7中如果想要获取字典中的一个值,但是这个值可能不存在,此时应该加上判断:

举个例子:

t= {}
if t.get('1'): # right:这种通过key来查询是否存在的方式是比较好的
 print(t['1'])
 print('right')

if t['1']: # wrong:这种直接判断是否存在的方式因为会在判断之前调用,所以会报错
 print(t['1'])

额外说明:

dict.get(key, default=None) 方法详解:

Parameters:

key -- This is the Key to be searched in the dictionary.

default -- This is the Value to be returned in case key does not exist.

如果default没指定,而且没有搜到值的话,会返回None

以上这篇解决Python获取字典dict中不存在的值时出错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用 Python 实现简单的 switch/case 语句的方法

在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不...

对django的User模型和四种扩展/重写方法小结

User模型 User模型是这个框架的核心部分。他的完整的路径是在django.contrib.auth.models.User。以下对这个User对象做一个简单了解: 字段: 内置的U...

Django ORM 常用字段与不常用字段汇总

Django ORM 常用字段与不常用字段汇总

常用字段 AutoField: int 自增列,必须填入参数 primary_key=True 如果没有写 AutoField,则会自动创建一个列名为 id 的列 from dja...

Python实现根据IP地址和子网掩码算出网段的方法

本文实例讲述了Python实现根据IP地址和子网掩码算出网段的方法。分享给大家供大家参考。具体如下: 该代码在Linux环境2.6.6python版本测试通过! #!/usr/bin...

Python之循环结构

while循环结构 格式: while 表达式: 语句块 执行流程:当程序执行到while语句时,首先判断表达式的真假。若表达式的值为真,则执行缩进的语句块,之后返回表达式继续...