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

yipeiwu_com7年前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中list的复制及深拷贝与浅拷贝

深入浅析Python中list的复制及深拷贝与浅拷贝

在Python中,经常要对一个list进行复制。对于复制,自然的就有深拷贝与浅拷贝问题。深拷贝与浅拷贝的区别在于,当从原本的list复制出新的list之后,修改其中的任意一个是否会对另一...

PyTorch中 tensor.detach() 和 tensor.data 的区别详解

PyTorch0.4中,.data 仍保留,但建议使用 .detach(), 区别在于 .data 返回和 x 的相同数据 tensor, 但不会加入到x的计算历史里,且require...

python sys,os,time模块的使用(包括时间格式的各种转换)

sys模块 sys.argv: 实现从程序外部向程序传递参数。 位置参数argv[0]代表py文件本身,运行方法 python xx.py 参数1,参数2 。。 self = s...

Python错误: SyntaxError: Non-ASCII character解决办法

Python错误: SyntaxError: Non-ASCII character解决办法

Python错误: SyntaxError: Non-ASCII character解决办法 (1)问题描述   在写Python代码的过程中,有用到需要输出中文的地方,但是...

python中matplotlib实现最小二乘法拟合的过程详解

python中matplotlib实现最小二乘法拟合的过程详解

前言 最小二乘法Least Square Method,做为分类回归算法的基础,有着悠久的历史(由马里·勒让德于1806年提出)。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小...