【Python基礎(chǔ)】字典

字典是另一種可變?nèi)萜髂P驼偻ⅲ铱纱鎯?chǔ)任意類型對(duì)象。

字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割,每個(gè)對(duì)之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào)({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

鍵必須是唯一的欣硼,但值則不必。

值可以取任何數(shù)據(jù)類型恶阴,但鍵必須是不可變的诈胜,如字符串,數(shù)字或元組冯事。


一個(gè)簡(jiǎn)單的字典實(shí)例:

dict = {'Alice': '2341', 'Beth': '9102','Cecil': '3258'}

也可如此創(chuàng)建字典:

dict1 = { 'abc': 456 };dict2 = { 'abc':123, 98.6: 37 };


訪問字典里的值

把相應(yīng)的鍵放入熟悉的方括弧焦匈,如下實(shí)例:

#!/usr/bin/python

?dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

?print "dict['Name']: ", dict['Name'];print"dict['Age']: ", dict['Age'];

以上實(shí)例輸出結(jié)果:

dict['Name']:? Zaradict['Age']:? 7


如果用字典里沒有的鍵訪問數(shù)據(jù),會(huì)輸出錯(cuò)誤如下:

#!/usr/bin/python

?dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

?print "dict['Alice']: ",dict['Alice'];

以上實(shí)例輸出結(jié)果:

dict['Alice']: Traceback (most recent calllast):

?File "test.py", line 5, in

???print "dict['Alice']: ", dict['Alice'];KeyError: 'Alice'



修改字典

向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì)桅咆,修改或刪除已有鍵/值對(duì)如下實(shí)例:

#!/usr/bin/python

?dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

?dict['Age'] = 8; # update existingentrydict['School'] = "DPS School"; # Add new entry


?print "dict['Age']: ",dict['Age'];print "dict['School']: ", dict['School'];

以上實(shí)例輸出結(jié)果:

dict['Age']:? 8dict['School']:? DPS School


刪除字典元素

能刪單一的元素也能清空字典括授,清空只需一項(xiàng)操作坞笙。

顯示刪除一個(gè)字典用del命令岩饼,如下實(shí)例:

#!/usr/bin/python# -*- coding: UTF-8-*-dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

?deldict['Name']; #刪除鍵是'Name'的條目dict.clear();???? #清空詞典所有條目deldict ;??????? #刪除詞典

?print "dict['Age']: ",dict['Age'];print "dict['School']: ", dict['School'];


但這會(huì)引發(fā)一個(gè)異常,因?yàn)橛胐el后字典不再存在:

dict['Age']:Traceback (most recent calllast):

?File "test.py", line 8, in

???print "dict['Age']: ", dict['Age'];TypeError: 'type' object isunsubscriptable

注:del()方法后面也會(huì)討論薛夜。


字典鍵的特性

字典值可以沒有限制地取任何python對(duì)象籍茧,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的梯澜,但鍵不行寞冯。

兩個(gè)重要的點(diǎn)需要記住:

1)不允許同一個(gè)鍵出現(xiàn)兩次晚伙。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次吮龄,后一個(gè)值會(huì)被記住,如下實(shí)例:

#!/usr/bin/python

?dict= {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

?print "dict['Name']: ",dict['Name'];

以上實(shí)例輸出結(jié)果:

dict['Name']:? Manni


2)鍵必須不可變咆疗,所以可以用數(shù)字漓帚,字符串或元組充當(dāng),所以用列表就不行午磁,如下實(shí)例:

#!/usr/bin/python

?dict= {['Name']: 'Zara', 'Age': 7};

?print "dict['Name']: ",dict['Name'];

以上實(shí)例輸出結(jié)果:

Traceback (most recent call last):

?File "test.py", line 3, in

dict ={['Name']: 'Zara', 'Age': 7};TypeError: list objects are unhashable


更多Python課程:阿里云大學(xué)——開發(fā)者課堂

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尝抖,一起剝皮案震驚了整個(gè)濱河市毡们,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昧辽,老刑警劉巖衙熔,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搅荞,居然都是意外死亡红氯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門取具,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脖隶,“玉大人,你說我怎么就攤上這事暇检〔澹” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵块仆,是天一觀的道長(zhǎng)构蹬。 經(jīng)常有香客問我,道長(zhǎng)悔据,這世上最難降的妖魔是什么庄敛? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮科汗,結(jié)果婚禮上藻烤,老公的妹妹穿的比我還像新娘。我一直安慰自己头滔,他們只是感情好怖亭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坤检,像睡著了一般兴猩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上早歇,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天倾芝,我揣著相機(jī)與錄音,去河邊找鬼箭跳。 笑死晨另,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谱姓。 我是一名探鬼主播借尿,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逝段!你這毒婦竟也來了垛玻?” 一聲冷哼從身側(cè)響起割捅,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帚桩,沒想到半個(gè)月后亿驾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡账嚎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年莫瞬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郭蕉。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疼邀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出召锈,到底是詐尸還是另有隱情旁振,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布涨岁,位于F島的核電站拐袜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梢薪。R本人自食惡果不足惜蹬铺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秉撇。 院中可真熱鬧甜攀,春花似錦、人聲如沸琐馆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啡捶。三九已至姥敛,卻和暖如春奸焙,著一層夾襖步出監(jiān)牢的瞬間瞎暑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工与帆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留了赌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓玄糟,卻偏偏與公主長(zhǎng)得像勿她,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阵翎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一逢并、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,746評(píng)論 0 10
  • 本節(jié)要介紹的是Python里面常用的幾種數(shù)據(jù)結(jié)構(gòu)蟹肘。通常情況下,聲明一個(gè)變量只保存一個(gè)值是遠(yuǎn)遠(yuǎn)不夠的俯树,我們需要將一組...
    小黑y99閱讀 65,193評(píng)論 0 9
  • 1. Python的hello-world: print ("Hello, Python!")帘腹、 完了 搖就完事兒...
    LunarShade閱讀 1,392評(píng)論 0 0
  • 字典: #格式:以鍵值對(duì)的形式保存,再用大括號(hào)包裹(冒號(hào)前的數(shù)為 “鍵”许饿,冒號(hào)后的數(shù)為對(duì)應(yīng)的“值”)info = ...
    爾果閱讀 412評(píng)論 0 0
  • 那天我又收到你的短信了 緊張 慌亂 失望 驚喜 這些熟悉的情緒又一次參合到了一起 當(dāng)時(shí)我坐在出租車上 車子突然停下...
    黃嗡嗡閱讀 49評(píng)論 0 0