用 Jupyter 學(xué)習(xí) Python 字典
字典數(shù)據(jù)結(jié)構(gòu)可以幫助你快速訪問(wèn)信息。
字典是 Python 編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)。一個(gè) Python 字典由多個(gè)鍵值對(duì)組成;每個(gè)鍵值對(duì)將鍵映射到其關(guān)聯(lián)的值上。
例如你是一名老師,想把學(xué)生姓名與成績(jī)對(duì)應(yīng)起來(lái)。你可以使用 Python 字典,將學(xué)生姓名映射到他們關(guān)聯(lián)的成績(jī)上。此時(shí),鍵值對(duì)中鍵是姓名,值是對(duì)應(yīng)的成績(jī)。
如果你想知道某個(gè)學(xué)生的考試成績(jī),你可以從字典中訪問(wèn)。這種快捷查詢方式可以為你節(jié)省解析整個(gè)列表找到學(xué)生成績(jī)的時(shí)間。
本文介紹了如何通過(guò)鍵訪問(wèn)對(duì)應(yīng)的字典值。學(xué)習(xí)前,請(qǐng)確保你已經(jīng)安裝了 Anaconda 包管理器和 Jupyter 筆記本。
1、在 Jupyter 中打開一個(gè)新的筆記本
首先在 Web 瀏覽器中打開并運(yùn)行 Jupyter。然后,
- 轉(zhuǎn)到左上角的 “File”。
- 選擇 “New Notebook”,點(diǎn)擊 “Python 3”。
新建 Jupyter 筆記本
開始時(shí),新建的筆記本是無(wú)標(biāo)題的,你可以將其重命名為任何名稱。我為我的筆記本取名為 “OpenSource.com Data Dictionary Tutorial”。
筆記本中標(biāo)有行號(hào)的位置就是你寫代碼的區(qū)域,也是你輸入的位置。
在 macOS 上,可以同時(shí)按 Shift + Return
鍵得到輸出。在創(chuàng)建新的代碼區(qū)域前,請(qǐng)確保完成上述動(dòng)作;否則,你寫的任何附加代碼可能無(wú)法運(yùn)行。
2、新建一個(gè)鍵值對(duì)
在字典中輸入你希望訪問(wèn)的鍵與值。輸入前,你需要在字典上下文中定義它們的含義:
empty_dictionary = {}
grades = {
"Kelsey": 87,
"Finley": 92
}
one_line = {a: 1, b: 2}
定義字典鍵值對(duì)的代碼
這段代碼讓字典將特定鍵與其各自的值關(guān)聯(lián)起來(lái)。字典按名稱存儲(chǔ)數(shù)據(jù),從而可以更快地查詢。
3、通過(guò)鍵訪問(wèn)字典值
現(xiàn)在你想查詢指定的字典值;在上述例子中,字典值指特定學(xué)生的成績(jī)。首先,點(diǎn)擊 “Insert” 后選擇 “Insert Cell Below”。
在 Jupyter 插入新建單元格
在新單元格中,定義字典中的鍵與值。
然后,告訴字典打印該值的鍵,找到需要的值。例如,查詢名為 Kelsey 的學(xué)生的成績(jī):
# 訪問(wèn)字典中的數(shù)據(jù)
grades = {
"Kelsey": 87,
"Finley": 92
}
print(grades["Kelsey"])
87
查詢特定值的代碼
當(dāng)你查詢 Kelsey 的成績(jī)(也就是你想要查詢的值)時(shí),如果你用的是 macOS,只需要同時(shí)按 Shift+Return
鍵。
你會(huì)在單元格下方看到 Kelsey 的成績(jī)。
4、更新已有的鍵
當(dāng)把一位學(xué)生的錯(cuò)誤成績(jī)添加到字典時(shí),你會(huì)怎么辦?可以通過(guò)更新字典、存儲(chǔ)新值來(lái)修正這類錯(cuò)誤。
首先,選擇你想更新的那個(gè)鍵。在上述例子中,假設(shè)你錯(cuò)誤地輸入了 Finley 的成績(jī),那么 Finley 就是你需要更新的鍵。
為了更新 Finley 的成績(jī),你需要在下方插入新的單元格,然后創(chuàng)建一個(gè)新的鍵值對(duì)。同時(shí)按 Shift+Return
鍵打印字典全部信息:
grades["Finley"] = 90
print(grades)
{'Kelsey': 87; "Finley": 90}
更新鍵的代碼
單元格下方輸出帶有 Finley 更新成績(jī)的字典。
5、添加新鍵
假設(shè)你得到一位新學(xué)生的考試成績(jī)。你可以用新鍵值對(duì)將那名學(xué)生的姓名與成績(jī)補(bǔ)充到字典中。
插入新的單元格,以鍵值對(duì)形式添加新學(xué)生的姓名與成績(jī)。當(dāng)你完成這些后,同時(shí)按 Shift+Return
鍵打印字典全部信息:
grades["Alex"] = 88
print(grades)
{'Kelsey': 87, 'Finley': 90, 'Alex': 88}
添加新鍵
所有的鍵值對(duì)輸出在單元格下方。
使用字典
請(qǐng)記住,鍵與值可以是任意數(shù)據(jù)類型,但它們很少是擴(kuò)展數(shù)據(jù)類型。此外,字典不能以指定的順序存儲(chǔ)、組織里面的數(shù)據(jù)。如果你想要數(shù)據(jù)有序,最好使用 Python 列表,而非字典。
如果你考慮使用字典,首先要確認(rèn)你的數(shù)據(jù)結(jié)構(gòu)是否是合適的,例如像電話簿的結(jié)構(gòu)。如果不是,列表、元組、樹或者其他數(shù)據(jù)結(jié)構(gòu)可能是更好的選擇。