Python學習之路5-字典

本系列是對入門書籍《Python編程:從入門到實戰》的筆記整理,屬於初級內容。標題順序採用書中標題

1. 使用字典

在Python中,字典是一系列鍵值對。每個鍵都與一個值相關聯,用鍵來訪問值。Python中用花括號“{ }”來表示字典。

Python學習之路5-字典

只要內存夠用,理論上字典中可以包含任意數量的鍵值對,並且Python中字典是一個動態結構,可隨時向其中添加鍵值對。

Python學習之路5-字典

有時候,在空字典中添加鍵值對是為了方便,而有時候則是必須這麼做,比如使用字典來存儲用戶提供的數據或在編寫能自動生成大量鍵值對的代碼時,此時通常要先定義一個空字典。

Python學習之路5-字典

如果要修改字典中的值,只需通過鍵名訪問就行。

Python學習之路5-字典

對於字典中不再需要的信息,可用del語句將相應的鍵值對刪除:

Python學習之路5-字典

前面的例子都是一個對象的多種信息構成了一個字典(遊戲中的外星人信息),字典也可以用來存儲眾多對象的統一信息:

Python學習之路5-字典

2. 遍歷字典

2.1 遍歷所有的鍵值對

Python學習之路5-字典

這裡有一點需要注意,遍歷字典時,鍵值對的返回順序不一定與存儲順序相同,Python不關心鍵值對的存儲順序,而只追蹤鍵與值之間的關聯關係。

2.2 遍歷字典中的所有鍵

字典的方法keys()將字典中的所有鍵

以列表的形式返回,以下代碼遍歷字典中的所有鍵:

Python學習之路5-字典

也可以用如下方法遍歷字典的所有鍵:

Python學習之路5-字典

但是帶有方法keys()的遍歷所表達的意思更明確。

還可以用keys()方法確定某關鍵字是否在字典中:

Python學習之路5-字典

使用sorted()函數按順序遍歷字典中的所有鍵:

Python學習之路5-字典

2.3 遍歷字典中的所有值

類似於遍歷所有鍵用keys()方法,遍歷所有值則使用values()方法

Python學習之路5-字典

從結果可以看出,上述代碼並沒有考慮去重的問題,如果想要去重,可以調用set():

Python學習之路5-字典

3. 嵌套

3.1 字典列表

以前面外星人為例,三個外星人組成一個列表:

Python學習之路5-字典

3.2 在字典中存儲列表

每當需要在字典中將一個鍵關聯到多個值時,都可以在字典中嵌套一個列表:

Python學習之路5-字典

3.3 在字典中存儲字典

涉及到這種情況時,代碼都不會簡單:

Python學習之路5-字典


分享到:


相關文章: