在python里,訪問dict
提問人:楊紫紅發(fā)布時(shí)間:2020-11-26
我們已經(jīng)能創(chuàng)建一個(gè)dict,用于表示名字和成績(jī)的對(duì)應(yīng)關(guān)系:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
那么,如何根據(jù)名字來查找對(duì)應(yīng)的成績(jī)呢?
可以簡(jiǎn)單地使用 d[key] 的形式來查找對(duì)應(yīng)的 value,這和 list 很像,不同之處是,list 必須使用索引返回對(duì)應(yīng)的元素,而dict使用key:
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
File "index.py", line 11, in <module>
print d['Paul']
KeyError: 'Paul'
注意: 通過 key 訪問 dict 的value,只要 key 存在,dict就返回對(duì)應(yīng)的value。如果key不存在,會(huì)直接報(bào)錯(cuò):KeyError。
要避免 KeyError 發(fā)生,有兩個(gè)辦法:
一是先判斷一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
如果 'Paul' 不存在,if語句判斷為False,自然不會(huì)執(zhí)行 print d['Paul'] ,從而避免了錯(cuò)誤。
二是使用dict本身提供的一個(gè) get 方法,在Key不存在的時(shí)候,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
那么,如何根據(jù)名字來查找對(duì)應(yīng)的成績(jī)呢?
可以簡(jiǎn)單地使用 d[key] 的形式來查找對(duì)應(yīng)的 value,這和 list 很像,不同之處是,list 必須使用索引返回對(duì)應(yīng)的元素,而dict使用key:
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
File "index.py", line 11, in <module>
print d['Paul']
KeyError: 'Paul'
注意: 通過 key 訪問 dict 的value,只要 key 存在,dict就返回對(duì)應(yīng)的value。如果key不存在,會(huì)直接報(bào)錯(cuò):KeyError。
要避免 KeyError 發(fā)生,有兩個(gè)辦法:
一是先判斷一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
如果 'Paul' 不存在,if語句判斷為False,自然不會(huì)執(zhí)行 print d['Paul'] ,從而避免了錯(cuò)誤。
二是使用dict本身提供的一個(gè) get 方法,在Key不存在的時(shí)候,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
繼續(xù)查找其他問題的答案?
相關(guān)視頻回答
點(diǎn)擊加載更多評(píng)論>>