1.检查字典中是否存在键或值
in 和 not in 操作符可以检查值是否存在于列表中。也可以利用这些操作符,检查某个键或值是否存在于字典中。在交互式环境中输入以下代码:
>>> spam = {'name': 'Zophie', 'age': 7}
>>> 'name' in spam.keys()
True
>>> 'Zophie' in spam.values()
True
>>> 'color' in spam.keys() False
>>> 'color' not in spam.keys() True
>>> 'color' in spam
False
注:在前面的例子中,'color' in spam 本质上是一个简写版本。相当于'color' in spam.keys()。这种情况总是对的:如果想要检查一个值是否为字典中的键,就可以用关键字 in(或 not in),作用于该字典本身。
2.get()方法
在访问一个键的值之前,检查该键是否存在于字典中,这很麻烦。在字典有一个get()方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回的备用值。在交互式环境中输入以下代码:
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
因为 picnicItems 字典中没有'egg'键,get()方法返回的默认值是 0。不使用 get(),代码就会产生一个错误消息,就像下面的例子:
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems['eggs']) + ' eggs.'
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
'I am bringing ' + str(picnicItems['eggs']) + ' eggs.'
KeyError: 'eggs'
网友评论