Python实战真题:从字典中获取一个键的值【难度2星】

发布于 2021-09-11 18:56 ,所属分类:试题库考试资料大全

Question



假如有字典grade定义如下:

grade={'语文':90,'数学':95,'英语':93}
使用grade['语文']就可以得到语文成绩,但是grade['物理']就会抛出异常,因为字典中没有'物理'这个键。如何优雅地从字典中获取一个有可能不存在的键的值呢?


难度系数:★★☆☆☆


Solution


为了避免程序抛出异常,很多人会小心翼翼地把代码写成这样:


if '物理' in grade:物理=grade['物理']else:物理=0
或者使用三元表达式:
物理=grade['物理']if'物理'ingradeelse
不过,上面两种写法都是“愚形”,因为字典对象本身自带一个更简洁优雅的get()方法:
物理 = grade.get('物理', 0)
get()的第2个参数,表示键不存在时函数返回的值。如果省略该参数,键不存在时函数返回None(无返回)



知识点字典内置函数&方法


Python字典包含了以下内置函数:

序号函数及描述
1cmp(dict1, dict2)
比较两个字典元素。
2len(dict)
计算字典元素个数,即键的总数。
3str(dict)
输出字典可打印的字符串表示。
4type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号函数及描述
1dict.clear()
删除字典内所有元素
2dict.copy()
返回一个字典的浅复制
3dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5dict.has_key(key)
如果键在字典dict里返回true,否则返回false
6dict.items()
以列表返回可遍历的(键, 值) 元组数组
7dict.keys()
以列表返回一个字典所有的键
8dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2)
把字典dict2的键/值对更新到dict里
10dict.values()
以列表返回字典中的所有值
11pop(key[,default])

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。

否则,返回default值。

12popitem()
返回并删除字典中的最后一对键和值。

声明:本文整理自网络,如有侵权,请联系删除。

本公号刊载此文,是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请随时与我们联系协商,联系(QQ):993225721,我们将及时更正、删除。




欢您我们哦——




相关资源