- Python入門很輕松(微課超值版)
- 云尚科技
- 1727字
- 2020-09-01 15:58:03
4.5 字典類型

微視頻
與列表和元組有所不同,字典是另一種可變容器模型,且可存儲任意類型的對象。本節講述字典的基本操作。
4.5.1 認識字典類型
字典(Dictionary)是Python內非常有用的數據類型。字典使用大括號({})將元素列出。元素由鍵值(key)與數值(value)組成,中間以冒號(:)隔開。鍵值必須是字符串、數字或元組,這些對象是不可變動的;數值則可以是任何數據類型。字典的元素排列沒有一定的順序,因為可以使用鍵值來取得該元素。
創建字典的語法格式如下:
字典變量={關鍵字1:值1,關鍵字2:值2,…}
☆大牛提醒☆
在同一個字典之內,關鍵字必須互不相同。創建字典并訪問字典中的元素。
>>>x={'一班': '張小明','二班': '李萌','三班': '張小明'} >>>x ['一班'] '張小明' >>>x ['二班'] '李萌' >>>x ['三班'] '張小明'
從結果可以看出,字典中的關鍵字必須唯一,但是關鍵字對應的值可以相同。
☆大牛提醒☆
在獲取字典中的元素值時,必須保證輸入的鍵值在字典中是存在的,否則Python會產生一個KeyError錯誤。
4.5.2 字典的常用操作
字典的常用操作如下:
1.修改字典中的元素值
字典中的元素值是可以修改的。例如:
>>>x={'一班': '張小明','二班': '李萌','三班': '張小明'} >>>x['三班'] = '張昌隆' >>>x {'一班': '張小明', '二班': '李萌', '三班': '張昌隆'}
2.刪除字典中的元素
使用del語句可以刪除字典中的元素。例如:
>>>x = {'一班': '張小明', '二班': '李萌', '三班': '張昌隆'} >>>del x["三班"] >>>x {'一班': '張小明', '二班': '李萌'}
3.定義字典鍵值時需要注意的問題
字典鍵值是不能隨便定義的,需要注意以下兩點:
(1)不允許同一個鍵值多次出現。創建時如果同一個鍵值被賦值多次,那么只有最后一個值有效,前面重復的值將會被自動刪除。例如:
>>>x = {'一班': '張小明', '二班': '李萌', '一班': '張昌隆', '二班': '王明霞'} >>>x {'一班': '張昌隆', '二班': '王明霞'}
(2)因為字典鍵值必須不可變,所以可以用數字、字符串或元組充當,列表則不行。如果用列表做鍵值,將會報錯。例如:
>>>x = {["名稱"]:"冰箱", "產地":"北京", "價格":"6500"} Traceback (most recent call last): File "<pyshell#33>", line 1, in <module> x = {["名稱"]:"冰箱", "產地":"北京", "價格":"6500"} TypeError: unhashable type: 'list'
4.5.3 字典的內置函數和方法
本節主要講述字典的內置函數和方法。
1.字典的內置函數
字典的內置函數包括len()、str()和type()。
(1)len(dict):計算字典元素個數,即鍵值的總數。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>len(x) 2
(2)str(dict):將字典的元素轉換為可打印的字符串形式。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>str(x) "{'一班': '張昌隆', '二班': '王明霞'}"
(3)type(variable):返回輸入的變量類型,如果變量是字典,就返回字典類型。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>type(x) <class 'dict'>
2.字典的內置方法
字典對象有許多內置方法,在Python解釋器內輸入dir({}),就可以顯示這些內置方法的名稱。下面挑選常用的方法進行講解。
(1)clear():清除字典中的所有元素。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>x.clear() >>>x {}
(2)copy():復制字典。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>y = x.copy() >>>y {'一班': '張昌隆', '二班': '王明霞'}
(3)get(k [, d]):k是字典的索引值,d是索引值的默認值。如果k存在,就返回其值,否則返回d。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>> x.get("一班") '張昌隆' >>> x.get("三班","不存在") '不存在'
(4)items():使用字典中的元素創建一個由元組對象組成的列表。例如:
>>>x = {'一班': '張昌隆', '二班': '王明霞'} >>>x.items() dict_items([('一班', '張昌隆'), ('二班', '王明霞')])
(5)keys():使用字典中的鍵值創建一個列表對象。例如:
>>>x = {"名稱":"西瓜", "產地":"吐魯番", "價格":"6.26"} >>>x.keys() dict_keys(['名稱', '產地', '價格'])
(6)popitem():刪除字典中的最后一個元素。例如:
>>>x = {"名稱":"西瓜", "產地":"吐魯番", "價格":"6.26"} >>> x.popitem() ('價格', '6.26') >>> x {'名稱': '西瓜', '產地': '吐魯番'} >>>x.popitem() ('產地', '吐魯番') >>> x {'名稱': '西瓜'}
【例4.4】制作火車票查詢系統(源代碼\ch04\4.4.py)。
這里模擬火車票查詢系統,輸入車次編號,輸出本次列車的出發站和終點站。
aa=["G15","C2065","Z95","G565"] #定義鍵的列表 bb=["北京南—上海","北京南—天津","北京西—重慶北","北京西—鄭州東"]#定義值的列表 cc=dict(zip(aa,bb)) #轉換為字典 print ("歡迎進入火車票查詢系統") print (cc) n=input("請輸入需要查詢的車次:") print (n+"次車的出發站和終點站是:",cc.get(n))
程序運行結果如圖4-4所示。

圖4-4 例4.4的程序運行結果
- 零基礎學Visual C++第3版
- Python for Secret Agents:Volume II
- C#編程入門指南(上下冊)
- MariaDB High Performance
- FLL+WRO樂高機器人競賽教程:機械、巡線與PID
- Java 11 Cookbook
- Hands-On Swift 5 Microservices Development
- Getting Started with NativeScript
- 深入理解Android:Wi-Fi、NFC和GPS卷
- Android玩家必備
- C# and .NET Core Test Driven Development
- 現代C++編程實戰:132個核心技巧示例(原書第2版)
- 持續集成與持續交付實戰:用Jenkins、Travis CI和CircleCI構建和發布大規模高質量軟件
- Java EE 8 and Angular
- Java Web動態網站開發(第2版·微課版)