- Python編程基礎與應用
- 李方園主編
- 878字
- 2021-10-27 16:38:28
2.5.1 字典及其創建
字典(dict)由鍵和對應值成對組成,也被稱作關聯數組或散列表。字典類型是Python中唯一的映射類型。“映射”是數學中的術語,簡單理解,它指的是元素之間相互對應的關系,即通過一個元素,可以唯一找到另一個元素,如圖2-4所示。

圖2-4 字典的映射關系
字典是一種通過名字引用值的數據結構,字典中的值并沒有特殊的順序,但是都存儲在一個特定的鍵(Key)里,鍵可以是數字、字符串或者元組等。例如:

字典中,習慣將各元素對應的索引稱為鍵(key),各個鍵對應的元素稱為值(value),鍵及其關聯的值稱為“鍵值對”。字典類型很像學生時代常用的《新華字典》。我們知道,通過《新華字典》中的音節表,可以快速找到想要查找的漢字。其中,字典里的音節表就相當于字典類型中的鍵,而鍵對應的漢字則相當于值。總的來說,字典類型所具有的主要特征與解釋如表2-2所示。
表2-2 字典類型的主要特征與解釋

字典的創建有以下3種方式。
1.使用“{}”創建字典
由于字典中每個元素都包含兩部分,分別是鍵(key)和值(value),因此在創建字典時,鍵和值之間使用冒號(:)分隔,相鄰元素之間使用逗號(,)分隔,所有元素放在大括號{}中。
使用{}創建字典的語法格式如下:

其中dictname表示字典變量名,keyn:valuen表示各個元素的鍵值對。需要注意的是,同一字典中的各個鍵必須唯一,不能重復。
【例2-43】 用“{}”創建字典。

運算結果:

可以看到,字典的鍵可以是整數、字符串或者元組,只要符合唯一和不可變的特性就行;字典的值可以是Python支持的任意數據類型。
2.通過fromkeys()方法創建字典
在Python中,還可以使用dict字典類型提供的fromkeys()方法創建帶有默認值的字典,具體格式為:

其中,list參數表示字典中所有鍵的列表(list);value參數表示默認值,如果不寫,則為空值None。
【例2-44】 用fromkeys()方法創建字典。

運算結果:

可以看到,city列表中的元素全部作為了renkou字典的鍵,而各個鍵對應的值都是2000。這種創建方式通常用于初始化字典,設置value的默認值。
3.通過dict()映射函數創建字典
通過dict()函數創建字典時,可以向dict()函數傳入列表或元組,而它們中的元素又各自是包含兩個元素的列表或元組,其中第一個元素作為鍵,第二個元素作為值。
【例2-45】 用4種方式創建同一個字典。

運算結果:
