python dict.get()和dict['key']的区别详解

yipeiwu_com6年前Python基础

先看代码:

In [1]: a = {'name': 'wang'} 
 
In [2]: a.get('age') 
 
In [3]: a['age'] 
---------------------------------------------------------------------------
KeyError                 Traceback (most recent call last) 
<ipython-input-3-a620cb7b172a> in <module>() 
----> 1 a['age'] 
 
KeyError: 'age'
 
In [4]: a.get('age', 10) 
Out[4]: 10 

所以,dict['key']只能获取存在的值,如果不存在则触发KeyError

而dict.get(key, default=None)则如果不存在则返回一个默认值,如果设置了则是设置的,否则就是None

In [6]: type(a.get('age')) 
Out[6]: NoneType 

以上这篇python dict.get()和dict['key']的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现包含min函数的栈

本文实例讲述了Python实现包含min函数的栈。分享给大家供大家参考,具体如下: # coding=utf8 ''' 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元...

Python 40行代码实现人脸识别功能

Python 40行代码实现人脸识别功能

前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理...

pandas分区间,算频率的实例

pandas分区间,算频率的实例

如下所示: import pandas as pd path='F:/python/python数据分析与挖掘实战/图书配套数据、代码/chapter3/demo/data/cate...

python3安装pip3(install pip3 for python 3.x)

python3安装pip3(install pip3 for python 3.x)

前言:   我目前使用的服务器为centos6.x 系统自带的python的版本为2.6.x,但是目前无论是学习还是使用python,python3都是首选,那么问题来了。---如何安装...

50行代码实现贪吃蛇(具体思路及代码)

50行代码实现贪吃蛇(具体思路及代码)

最近一直在准备用来面试的几个小demo,为了能展现自己,所以都是亲自设计并实现的,其中一个就是在50行代码内来实现一个贪吃蛇,为了说明鄙人自己练习编程的一种方式--把代码写短,为了理解语...