Python使用字典(61)

在Python中傲霸,字典是一系列鍵——值對。每個鍵都與一個值相關(guān)聯(lián)眉反,你可以使用鍵來訪問與之相關(guān)的值昙啄。與鍵相關(guān)的值可以是數(shù)字、字符串寸五、列表梳凛、乃至字典。事實上梳杏,可將任何Python對象用作字典的值韧拒。

在Python中淹接,字典用放在花括號{}中的一系列鍵——值對表示。

鍵——值對是兩個相關(guān)聯(lián)的值叛溢。指定鍵時塑悼,Python將返回與之相關(guān)的值。鍵和值之間用冒號分隔楷掉,而鍵——值對之間用逗號分隔厢蒜。在字典中,你想儲存多少個鍵——值對都可以烹植。

python大大的圖

圖片發(fā)自簡書App

我的圖

圖片發(fā)自簡書App

最簡單的字典只有一個鍵——值對斑鸦,如第五行代碼。這個字典中只存儲了一項有關(guān)alien_0的信息草雕,具體地說是這個外星人的顏色巷屿。在這個字典中,字符串'color'是一個鍵墩虹,與之相關(guān)的值為'green'嘱巾。

1.訪問字典中的值

要獲取與鍵相關(guān)的值,可依次指定字典名和放在放在方括號內(nèi)的鍵诫钓。見代碼第6行浓冒,這將返回字典alien_0中與鍵'color'相關(guān)的值:green。

2.添加鍵——值對

字典是一種動態(tài)結(jié)構(gòu)尖坤,可隨時在其中添加鍵——值對。要添加鍵——值對闲擦,可依次指定字典名慢味、用方括號括起的鍵和相關(guān)的值。

在字典alien_0中添加兩項信息:外星人的x坐標(biāo)和y坐標(biāo)墅冷,讓我們能夠在屏幕的特定位置顯示該外星人纯路。我們將這個外星人放在屏幕左邊緣,且離屏幕上邊緣25像素的地方寞忿。由于屏幕坐標(biāo)系的原點通常為左上角驰唬,因此要將該外星人放在屏幕左邊緣,可將x坐標(biāo)設(shè)置為0腔彰;要將外星人放在離屏幕頂部25像素的地方叫编,可將y坐標(biāo)設(shè)置為25。見大大代碼8~9行霹抛。當(dāng)打印這個字典時將看到兩個新增的鍵——值對搓逾。

注意,鍵——值對的排列順序與添加順序不同杯拐。Python不關(guān)心鍵——值對的添加順序霞篡,而只關(guān)心鍵和值之間的關(guān)聯(lián)關(guān)系世蔗。這可以以13~18行代碼來說明,最終我們打印出來的字典順序與我們定義的順序不同朗兵。同理污淋,我們在向字典中單個添加元素時,打印出的字典最終順序可能也與我們添加元素順序不同余掖。

3.先創(chuàng)建一個空字典

有時候寸爆,在空字典中添加鍵——值對是為了方便,而有時候必須這樣做浊吏。為此而昨,可先使用一對空的花括號定義一個字典,再分別添加各個鍵——值對找田。使用字典來存儲用戶提供的數(shù)據(jù)或編寫能自動生成大量鍵——值對的代碼時歌憨,通常都需要先定義一個空字典。

4.修改字典中的值

要修改字典中的值墩衙,可依次指定字典名务嫡、用方括號括起的鍵以及與該鍵相關(guān)聯(lián)的新值。例如漆改,假設(shè)隨著游戲的進(jìn)行心铃,需要將一個外星人從綠色改為紅色,見大大代碼第7行挫剑。

這邊比較有意思的是字典結(jié)合if語句對一個能夠以不同速度移動的外星人的位置進(jìn)行跟蹤去扣。

圖片發(fā)自簡書App

這種計數(shù)很棒:通過修改外星人字典中的值,可改變外星人的行為樊破。例如要將這個速度中等的外星人變成速度很快的外星人愉棱,只需在第五行修改字典中的值即可。這里fast是要帶引號的哲戚,書上有一點小瑕疵奔滑。

圖片發(fā)自簡書App

5.刪除鍵——值對

對于字典中不再需要的信息,可使用del語句將相應(yīng)的鍵——值對徹底刪除顺少。使用del語句時朋其,必須指定字典名和要刪除的鍵。

注意:刪除的鍵——值對永遠(yuǎn)消失了脆炎。

6.由類似對象組成的字典

字典可以存儲一個對象(游戲中的一個外星人)的多種信息梅猿,也可以使用字典來存儲眾多對象的同一種信息。例如秒裕,假設(shè)你要調(diào)查很多人粒没,詢問他們最喜歡的編程語言,可使用一個字典來存儲這種簡單調(diào)查的結(jié)果簇爆。如大大代碼13~17行癞松,我們將一個較大的字典放在了多行中爽撒。其中每個鍵都是一個被調(diào)查者的名字,而每個值都是被調(diào)查者喜歡的語言响蓉。確定需要使用多行來定義字典時硕勿,在輸入左花括號后按回車鍵,再在下一行縮進(jìn)四個空格(個數(shù)可以隨意)枫甲,指定第一個鍵——值對源武,并在它后面加上一個逗號。此后你再次按回車鍵時想幻,文本編輯器將自動縮進(jìn)后續(xù)鍵——值對粱栖,且縮進(jìn)量與第一個鍵——值對相同。

定義好字典后脏毯,在最后一個鍵——值對的后面加上逗號闹究,為以后在下一行添加鍵——值對做好準(zhǔn)備。最后加上右邊花括號食店。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渣淤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吉嫩,更是在濱河造成了極大的恐慌价认,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件自娩,死亡現(xiàn)場離奇詭異用踩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)忙迁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門捶箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人动漾,你說我怎么就攤上這事≤В” “怎么了旱眯?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長证九。 經(jīng)常有香客問我删豺,道長,這世上最難降的妖魔是什么愧怜? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任呀页,我火速辦了婚禮,結(jié)果婚禮上拥坛,老公的妹妹穿的比我還像新娘蓬蝶。我一直安慰自己尘分,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布丸氛。 她就那樣靜靜地躺著培愁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缓窜。 梳的紋絲不亂的頭發(fā)上定续,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機(jī)與錄音禾锤,去河邊找鬼私股。 笑死,一個胖子當(dāng)著我的面吹牛恩掷,可吹牛的內(nèi)容都是我干的倡鲸。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼螃成,長吁一口氣:“原來是場噩夢啊……” “哼旦签!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寸宏,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤宁炫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后氮凝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羔巢,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年罩阵,在試婚紗的時候發(fā)現(xiàn)自己被綠了竿秆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡稿壁,死狀恐怖幽钢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情傅是,我是刑警寧澤匪燕,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站喧笔,受9級特大地震影響帽驯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜书闸,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一尼变、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浆劲,春花似錦嫌术、人聲如沸哀澈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽日丹。三九已至,卻和暖如春蚯嫌,著一層夾襖步出監(jiān)牢的瞬間哲虾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工择示, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留束凑,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓栅盲,卻偏偏與公主長得像汪诉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谈秫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

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

  • 本文為《爬著學(xué)Python》系列第九篇文章扒寄。 從現(xiàn)在開始算是要進(jìn)入“真刀真槍”的Python學(xué)習(xí)了。之所以這么說拟烫,...
    SyPy閱讀 2,148評論 0 14
  • Python簡介 Python歷史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生閱讀 1,055評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理该编,服務(wù)發(fā)現(xiàn),斷路器硕淑,智...
    卡卡羅2017閱讀 134,715評論 18 139
  • 我必須要說明一點课竣,今年已經(jīng)過了5個月了,今天也是今年的第19周置媳,我的心中有些感慨于樟,也充滿了滿滿的懷念。在這里把我上...
    陳總閱讀 222評論 0 1
  • 上個星期跟老蔣出去吃飯拇囊,吃完我說得走走減肥迂曲,他無奈陪我在廣場附近散步。我正興致勃勃地跟他說要去旅游的事寥袭,發(fā)現(xiàn)旁邊的...
    小小南說閱讀 512評論 0 1