- 零基礎學Python編程(少兒趣味版)
- 溪溪爸爸
- 930字
- 2020-11-04 16:41:57
2.3.2 什么是字典
創建一個變量roll,將派森號所有的運動員參賽項目的鍵值對都存放進去,用逗號(,)隔開,再用花括號({})把它們全部括起來,這就是一個字典了:
#派森號的參賽項目名冊 roll={'格蘭特蕾妮': ['10000公里競速',0, '精準拋射', '著陸技巧', '星礦探索'], '大熊': [0,'20000公里避障飛行','精準拋射',0, '星礦探索'], '西西船長': ['10000公里競速',0,'精準拋射', '著陸技巧', '星礦探索'], '克里克里': [0,'20000公里避障飛行','精準拋射', '著陸技巧', '星礦探索'], '菲菲兔': ['10000公里競速',0,'精準拋射', '著陸技巧', '星礦探索'], '洛克威爾': ['10000公里競速','20000公里避障飛行',0,'著陸技巧',0] }
“看起來挺整齊呀!”一旁觀看許久的裁判長迪克納瑞先生說道,“可是這個字典真能快速地告訴我每個隊員的項目嗎?”
“是的,裁判長先生。”洛克威爾說,“可以通過字典元素的鍵立即得到它對應的值。比如現在想知道我的參賽項目,可以這樣做。”說著,洛克威爾輸入了以下代碼:
#引用字典元素 print(roll) #輸出整個字典 name='洛克威爾' print(name,"參加的項目是: ",roll[name]) #輸出鍵'洛克威爾'對應的值
運行后輸出為:
{'格蘭特蕾妮': ['10000公里競速', 0, '精準拋射', '著陸技巧', '星礦探索'], '大熊': [0, '20000公里避障飛行', '精準拋射', 0, '星礦探索'], '西西船長': ['10000公里競速', 0, '精準拋射', '著陸技巧', '星礦探索'], '克里克里': [0, '20000公里避障飛行', '精準拋射', '著陸技巧', '星礦探索'], '菲菲兔': ['10000公里競速', 0, '精準拋射', '著陸技巧', '星礦探索'], '洛克威爾': ['10000公里競速', '20000公里避障飛行', 0, '著陸技巧', 0]} 洛克威爾 參加的項目是: ['10000公里競速', '20000公里避障飛行', 0, '著陸技巧', 0]
看到了吧,只要告訴字典需要的“鍵”,立馬就會得到對應的“值”。
使用方括號([])指明要訪問的元素的key值即可獲得對應的value值,相當于使用key值作為元素的下標,這樣就不需要關心元素在字典中存放的位置了。
“那字典也和列表、元組、字符串一樣,屬于序列類型嗎?”迪克納瑞問。
“Oh,no!實際上,字典無法使用序號作為下標,否則代碼就會產生錯誤,不信你試試?”洛克威爾對裁判長先生說。
>>> roll[3] #試圖返回字典的第4個下標元素 Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> roll[3] #試圖返回字典的第4個下標元素 KeyError: 3
IDLE提示“鍵錯誤”(KeyError),意思是字典里沒有3這個鍵。所以同樣的道理,如果訪問字典元素時,不小心寫錯了鍵,也會出現同樣的錯誤。
推薦閱讀
- Drupal 8 Blueprints
- 機器學習系統:設計和實現
- Learn Programming in Python with Cody Jackson
- 深度學習:算法入門與Keras編程實踐
- CKA/CKAD應試教程:從Docker到Kubernetes完全攻略
- C程序設計案例教程
- Learning Salesforce Einstein
- Visual C#通用范例開發金典
- Visual Basic程序設計實驗指導(第二版)
- Android移動應用項目化教程
- 青少年學Python(第2冊)
- 軟件測試技術
- SQL Server 2014 Development Essentials
- C/C++程序設計教程
- Python程序員面試算法寶典