dict
dict是dictionary的簡寫想暗。使用鍵值對來進行存儲弊添。首先帶大家來了解一下鍵值對是個什么東西鬼悠。上過高中的伙伴也許知道映射吧删性,在講集合那一章的最后一節(jié)講的映射,其實呢個映射就和這個鍵值對有相似之處焕窝,如果你不知道映射沒關系蹬挺。舉個例子,坐過火車吧都它掂,火車票上有你的乘車信息巴帮,幾號車廂第幾個座位,然后你就開始找座位虐秋,注意了榕茧,引入概念了要。座位是在車上不會變得客给,不管車火車走不走座位就在那里明碼標識的用押,座位上會有人坐在上邊。此時我們稱座位是鍵靶剑,坐在上邊的人是值蜻拨。當然了有時候春運為了發(fā)揚我族傳統(tǒng)一個座位擠一擠坐兩個人也是存在的。在這里我們不考慮這種情況桩引,但是到站總會有人下車這是不得不考慮的缎讼,座位沒變人還了。通過以上坐火車的例子大家都明白了坑匠,座位是“鍵”血崭,不變的,坐在上邊的人是”值“,是可變的夹纫。這下就明白鍵值的概念了吧咽瓷。下面我們來創(chuàng)建一個dict的鍵值對
>>> d={'obama':80,'yiwanka':81,'tumpu':91,'aidhua':73}
>>> d
?? {'obama': 80, 'yiwanka': 81, 'tumpu': 91, 'aidhua': 73}
我們創(chuàng)建一個美國人氣dict其中奧巴馬人氣值80,伊萬卡81捷凄,川普剛剛上任人氣暴漲91忱详,愛德華73
聲明一個變量d來接收鍵值對,仔細觀察他的創(chuàng)建方式和list不同
1跺涤、使用大括號.2、里邊的元素是用冒號和逗號來區(qū)分成對监透。比如說現(xiàn)在我們的dict里的數(shù)據(jù)不僅僅這四個人桶错,還有很多,此時我想知道川普現(xiàn)在的人氣值胀蛮,如下操作
>>> d['tumpu']
?? 91
我們將“鍵”川普放入到中括號里顯示出對應的人氣值91川普上臺一段時間以后院刁,老美發(fā)現(xiàn)自己選的太大意了,于是川普人氣開始下降粪狼,但媒體發(fā)現(xiàn)川普女兒伊萬卡人長顏值高退腥,能力也強于是人氣噗噗的暴漲。
>>> d['tumpu']=81
>>> d['yiwanka']=91
>>> d
?{'obama': 80, 'yiwanka': 91, 'tumpu': 81, 'aidhua': 73}
以上就是修改值突然我想查查馬云的人氣如何再榄?
>>> d['jack Ma']
Traceback (most recent call last):? File "", line 1, ind['jack Ma']
KeyError: 'jack Ma'
報錯狡刘,因為美國人氣dict里沒有馬老板
為了避免尷尬,在查詢之前可以驗證一下是否有對應的數(shù)據(jù)
通過以下兩種方式:1困鸥、使用in關鍵字嗅蔬。2、使用dict的get方法疾就,如需要可自選返回參數(shù)澜术,默認返回none,(在這里沒有返回任何猬腰,這是在python? shell下操作的原因)
>>> 'jack MA'in d
False
>>> d.get('jack MA',-1)
-1
>>> d.get('jack MA')
>>>
此外還有其他操作鸟废,清除所有的項clear(),setdefault(k,v),pop(k)等操作姑荷。
再次說一下setdefault(k,v)的用法盒延。與get()方法類似,如果沒有就給他賦值厢拭,比如說我們看看勒布朗詹姆斯的人氣如何
>>> d.setdefault('lebrojames')
>>> d
{'obama': 80, 'yiwanka': 81, 'tumpu': 91, 'aidhua': 73, 'lebrojames': None}
之前并沒有勒布朗兰英,現(xiàn)在有了,但是值是空的供鸠,這是因為我并沒有給他賦值畦贸,原本打算看一下他的人氣結果沒有,現(xiàn)在給他賦值。并再次使用同樣的方法查看
>>> d['lebrojames']=94
>>> d
{'obama': 80, 'yiwanka': 81, 'tumpu': 91, 'aidhua': 73, 'lebrojames': 94}
>>> d.setdefault('lebrojames')
94