在Python中傲霸,字典是一系列鍵——值對。每個鍵都與一個值相關(guān)聯(lián)眉反,你可以使用鍵來訪問與之相關(guān)的值昙啄。與鍵相關(guān)的值可以是數(shù)字、字符串寸五、列表梳凛、乃至字典。事實上梳杏,可將任何Python對象用作字典的值韧拒。
在Python中淹接,字典用放在花括號{}中的一系列鍵——值對表示。
鍵——值對是兩個相關(guān)聯(lián)的值叛溢。指定鍵時塑悼,Python將返回與之相關(guān)的值。鍵和值之間用冒號分隔楷掉,而鍵——值對之間用逗號分隔厢蒜。在字典中,你想儲存多少個鍵——值對都可以烹植。
python大大的圖
我的圖
最簡單的字典只有一個鍵——值對斑鸦,如第五行代碼。這個字典中只存儲了一項有關(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)行跟蹤去扣。
這種計數(shù)很棒:通過修改外星人字典中的值,可改變外星人的行為樊破。例如要將這個速度中等的外星人變成速度很快的外星人愉棱,只需在第五行修改字典中的值即可。這里fast是要帶引號的哲戚,書上有一點小瑕疵奔滑。
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)備。最后加上右邊花括號食店。