在Python中,字典是一系列鍵——值對。每個鍵都與一個值相關(guān)聯(lián),你可以使用鍵來訪問與之相關(guān)的值。與鍵相關(guān)的值可以是數(shù)字、字符串、列表、乃至字典。事實(shí)上,可將任何Python對象用作字典的值。
在Python中,字典用放在花括號{}中的一系列鍵——值對表示。
鍵——值對是兩個相關(guān)聯(lián)的值。指定鍵時,Python將返回與之相關(guān)的值。鍵和值之間用冒號分隔,而鍵——值對之間用逗號分隔。在字典中,你想儲存多少個鍵——值對都可以。
python大大的圖

我的圖

最簡單的字典只有一個鍵——值對,如第五行代碼。這個字典中只存儲了一項(xiàng)有關(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中添加兩項(xiàng)信息:外星人的x坐標(biāo)和y坐標(biāo),讓我們能夠在屏幕的特定位置顯示該外星人。我們將這個外星人放在屏幕左邊緣,且離屏幕上邊緣25像素的地方。由于屏幕坐標(biāo)系的原點(diǎn)通常為左上角,因此要將該外星人放在屏幕左邊緣,可將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)行跟蹤。

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

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)備。最后加上右邊花括號。