前言
相比于列表,字典是更為靈活的一種數據結構。它能將相關信息關聯起來,本文中我們一起來學習 Python字典 的基本用法,即如何添加、訪問、修改和刪除字典中的信息。
1.最簡單的字典
在學習Python字典之前,我們一起來看一下字典到底是個什么玩意兒,這樣有助于對其建立大體的印象,把抽象的概念具體化。
舉個例子,假如你正在幫助學校開發學生管理系統,需要保存單個學生的詳細信息(學號、姓名、性別、年齡等),你會怎么做?
這種問題隨著我們學習 Python 的逐步深入,解決方法也多種多樣。
如果是個初學者,只學了基本數據類型:
num
=
'123456'
# 學號
name
=
'kelvin'
# 姓名
age
=
18
# 年齡
gender
=
'male'
# 性別
這樣做數據是保存了,但是在實際開發中,往往需要保存多個學生的信息。
初學者往往會這樣解決問題:
num1
=
'123456'
name1
=
'kelvin'
age1
=
18
gender1
=
'male'
num2
=
'654321'
name2
=
'vicky'
age2
=
20
gender2
=
'female'
.
.
.
.
.
.
看似解決了保存多個學生的問題,但還是有些問題:
-
沒有清晰的結構,我們在邏輯上可以知道num1,name1,age1,gender1是屬于學生1的信息,但是代碼里卻沒有某種結構表示這種從屬關系。
-
命名難度太大,一個學生有4個屬性(學號、姓名、性別、年齡),兩個學生就得寫8個不重名變量,如果一個班有40個學生(不算多吧)就得寫160個不重名變量。有人會覺得在變量名后面加數字的方法不錯,卻不利于記憶。
隨著我們的深入的學習,知道了列表結構,覺得列表應該能解決這些問題,于是我們這樣寫:
student1
=
[
'123456'
,
'kelvin'
,
18
,
'male'
]
student2
=
[
'654321'
,
'vicky'
,
20
,
'female'
]
這樣子給人的感覺確實是整潔了不少,而且數據之間有了明顯的從屬關系,第一個方括號(
[]
)里面的數據都是學生1的,第二個方括號(
[]
)里的數據都是學生2的。
而且命名難度大大降低,一個班如果有40個同學的話,也只需要有40個不重名變量即可。
列表的使用又會導致新的問題:列表內部存儲數據混亂,比如我們想取學生的姓名,必須記得學生姓名的下標對應的是1,存儲學生信息的時候要按順序(學號-姓名-年齡-性別)存取,這個記憶成本就很高,一不小心就會犯錯。
但是今天學了 Python字典,這些問題統統不復存在:
student1
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
,
'age'
:
18
,
'gender'
:
'male'
}
student2
=
{
'num'
:
'654321'
,
'name'
:
'vicky'
,
'age'
:
20
,
'gender'
:
'female'
}
雖然可能看不懂這些代碼的含義,但應該可以看出來,第一個花括號(
{}
)里面的數據是從屬于學生1的,第二個花括號(
{}
)里的數據是從屬于學生2的。并且花括號(
{}
)內部數據結構清晰,用鍵值對的形式,表示出了各個數據代表的含義。
比如我想取出學生1的姓名,可以這樣寫
student1['name']
。
相信現在大家對字典的作用有了起碼的認識,下面我們來具體談談字典怎么使用。
2.字典的使用
在Python中,字典是 一系列鍵值對 ,每個鍵都與一個值相關聯,你 可以使用鍵來訪問與之相關聯的值 。
與鍵相關聯的的值可以是數字、字符串、列表乃至字典 。事實上,你 可以將任何Python對象用作字典中的值 。
在 Python 中,字典用放在花括號{}中的一系列鍵值對表示,如前面的示例:
student1
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
,
'age'
:
18
,
'gender'
:
'male'
}
鍵值對是兩個相關聯的值。指定鍵時,Python將返回與之相關聯的值。 鍵和值之間用冒號分隔,而鍵值對之間用逗號分隔 。
在字典中,只要你電腦性能足夠,你想存多少鍵值對都可以。
2.1訪問字典中的值
訪問字典中的值比較簡單,如果我們有個student字典,我想訪問學生的學號和姓名,可以如下:
student
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
}
print
(
student
[
'num'
]
)
print
(
student
[
'name'
]
)
上述代碼將輸出字典 student 中與
num
和
name
相關聯的值。
運行結果如圖2-1:
圖2-12.2往字典中添加鍵值對
字典是一種動態結構,可隨時在其中添加鍵值對。
要添加鍵值對,可依次指定字典名、用方括號[]括起來的鍵和相關聯的值。
2.2.1向已有字典中添加鍵值對
下面在字典student中添加兩項信息:年齡和性別。如下所示:
student
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
}
print
(
student
)
student
[
'age'
]
=
18
student
[
'gender'
]
=
'male'
print
(
student
)
我們首先定義了前面一直在使用的字典student,然后打印了這個字典,顯示其未添加鍵值對時的信息。
然后我們在這個新字典中新增了兩個鍵值對(
age
和
gender
)。
運行結果如圖2-2:
圖2-2可以看到,以age和gender為鍵的鍵值對已經添加進student字典中了。
2.2.2創建空字典然后添加鍵值對
有的時候我們需要先創建一個空字典,然后往里面添加鍵值對。
可以先使用一對花括號{}定義一個字典,然后再添加各個鍵值對。
我們用這種方式創建學生student字典:
student
=
{
}
student
[
'num'
]
=
'123456'
student
[
'name'
]
=
'kevin'
print
(
student
)
這里先用花括號創建了一個空字典student,然后往空字典中添加了學生學號和姓名,代碼運行結果如圖2-3:
2.3修改字典中的值
要修改字典中的值,可依次指定字典名、用方括號[]括起來的鍵以及與該鍵相關聯的新值。
是不是很熟悉?沒錯, 修改字典的語法和添加鍵值對的語法是一樣的 。
區別在于,添加鍵值對時,鍵不存在于字典中,而修改值時,鍵存在于字典中。
例如,我們修改student字典中學生的姓名:
student
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
}
print
(
student
)
student
[
'name'
]
=
'vicky'
print
(
student
)
我們把student字典中的學生姓名從 kelvin 改為了 vicky。
運行結果如圖2-4:
圖2-42.4刪除字典中的鍵值對
對于字典中不再需要的信息,可使用
del
語句將相應的鍵值對徹底刪除。
使用
del
語句時,必須指明字典名和要刪除的鍵。
例如,我要從字典student中,刪除學生的年齡:
student
=
{
'num'
:
'123456'
,
'name'
:
'kelvin'
,
'age'
:
18
}
print
(
student
)
del
student
[
'age'
]
print
(
student
)
上述代碼中
del
語句讓 Python將鍵
age
從字典student中刪除,同時刪除與這個鍵相關聯的值。
運行結果如圖2-5:
圖2-5
鍵
age
和與其相關聯的值已經從字典中刪除,其余鍵值對未受影響。
結尾語
好啦,Python字典的簡單使用就先寫到這里,學完本文,你應當學習到怎么創建、訪問、存儲、修改、刪除字典中的鍵值對。
學習過程中有任何疑惑,可掃描下方二維碼及時與我聯系。
另外,文中如有不正確之處,請見諒。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
