用 Jupyter 學習 Python 字典
字典是 Python 編程語言使用的數據結構。一個 Python 字典由多個鍵值對組成;每個鍵值對將鍵映射到其關聯的值上。
例如你是一名老師,想把學生姓名與成績對應起來。你可以使用 Python 字典,將學生姓名映射到他們關聯的成績上。此時,鍵值對中鍵是姓名,值是對應的成績。
如果你想知道某個學生的考試成績,你可以從字典中訪問。這種快捷查詢方式可以為你節省解析整個列表找到學生成績的時間。
本文介紹了如何通過鍵訪問對應的字典值。學習前,請確保你已經安裝了 Anaconda 包管理器和 Jupyter 筆記本。
1、在 Jupyter 中打開一個新的筆記本
首先在 Web 瀏覽器中打開並運行 Jupyter。然後,
- 轉到左上角的 「File」。
- 選擇 「New Notebook」,點擊 「Python 3」。
![新建 Jupyter 筆記本](/data/attachment/album/202103/26/094801rl4pik51nd34qz5l.png "Create Jupyter notebook")
開始時,新建的筆記本是無標題的,你可以將其重命名為任何名稱。我為我的筆記本取名為 「OpenSource.com Data Dictionary Tutorial」。
筆記本中標有行號的位置就是你寫代碼的區域,也是你輸入的位置。
在 macOS 上,可以同時按 Shift + Return
鍵得到輸出。在創建新的代碼區域前,請確保完成上述動作;否則,你寫的任何附加代碼可能無法運行。
2、新建一個鍵值對
在字典中輸入你希望訪問的鍵與值。輸入前,你需要在字典上下文中定義它們的含義:
empty_dictionary = {}
grades = {
"Kelsey": 87,
"Finley": 92
}
one_line = {a: 1, b: 2}
![定義字典鍵值對的代碼](/data/attachment/album/202103/26/094801k6jqezjqaozqwwzs.png "Code for defining key-value pairs in the dictionary")
這段代碼讓字典將特定鍵與其各自的值關聯起來。字典按名稱存儲數據,從而可以更快地查詢。
3、通過鍵訪問字典值
現在你想查詢指定的字典值;在上述例子中,字典值指特定學生的成績。首先,點擊 「Insert」 後選擇 「Insert Cell Below」。
![在 Jupyter 插入新建單元格](/data/attachment/album/202103/26/094801xdfp9f4wee4uf4de.png "Inserting a new cell in Jupyter")
在新單元格中,定義字典中的鍵與值。
然後,告訴字典列印該值的鍵,找到需要的值。例如,查詢名為 Kelsey 的學生的成績:
# 訪問字典中的數據
grades = {
"Kelsey": 87,
"Finley": 92
}
print(grades["Kelsey"])
87
![查詢特定值的代碼](/data/attachment/album/202103/26/094802my6m8070sky861lx.png "Code to look for a specific value")
當你查詢 Kelsey 的成績(也就是你想要查詢的值)時,如果你用的是 macOS,只需要同時按 Shift+Return
鍵。
你會在單元格下方看到 Kelsey 的成績。
4、更新已有的鍵
當把一位學生的錯誤成績添加到字典時,你會怎麼辦?可以通過更新字典、存儲新值來修正這類錯誤。
首先,選擇你想更新的那個鍵。在上述例子中,假設你錯誤地輸入了 Finley 的成績,那麼 Finley 就是你需要更新的鍵。
為了更新 Finley 的成績,你需要在下方插入新的單元格,然後創建一個新的鍵值對。同時按 Shift+Return
鍵列印字典全部信息:
grades["Finley"] = 90
print(grades)
{'Kelsey': 87; "Finley": 90}
![更新鍵的代碼](/data/attachment/album/202103/26/094802rg6ci3culko3ligg.png "Code for updating a key")
單元格下方輸出帶有 Finley 更新成績的字典。
5、添加新鍵
假設你得到一位新學生的考試成績。你可以用新鍵值對將那名學生的姓名與成績補充到字典中。
插入新的單元格,以鍵值對形式添加新學生的姓名與成績。當你完成這些後,同時按 Shift+Return
鍵列印字典全部信息:
grades["Alex"] = 88
print(grades)
{'Kelsey': 87, 'Finley': 90, 'Alex': 88}
![添加新鍵](/data/attachment/album/202103/26/094802q4fk427lbekv4ukx.png "Add a new key")
所有的鍵值對輸出在單元格下方。
使用字典
請記住,鍵與值可以是任意數據類型,但它們很少是 擴展數據類型 。此外,字典不能以指定的順序存儲、組織裡面的數據。如果你想要數據有序,最好使用 Python 列表,而非字典。
如果你考慮使用字典,首先要確認你的數據結構是否是合適的,例如像電話簿的結構。如果不是,列表、元組、樹或者其他數據結構可能是更好的選擇。
via: https://opensource.com/article/21/3/dictionary-values-python
作者:Lauren Maffeo 選題:lujun9972 譯者:DCOLIVERSUN 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive