Python字典,給你的感覺是一個很複雜的資料結構嗎?這篇文章教你如何拆解字典內含的元素,讓你看到字典不再煩悶。
來到字典的這篇文章,代表你在建立自己Python知識大樓上,基礎又更穩固了。
隨著你學習Python的進度慢慢推進,一步一步的認識各種資料型態,從最單純的整數(integer),到字串(string)、串列(list),瞭解不同的資料型態的呈現方式、有什麼特性,以及如何操作。
認識字典(dictionary)這個資料型態前,我們先用字串來回顧一下,什麼是資料的呈現方式、特性、操作;如果你很熟悉了,可以點擊快速閱讀,選擇你所需要的Python字典資訊。
回顧字串這個資料型態,它的呈現方式是兩端會有引號,像是這樣:
'good job!'
字串的特性是,它是不可變的資料型態。
字串操作上呢,你可以使用len()函式來取得字元數量,利用方法(Method)如split()
、join()
進行分拆及結合,當然還有許多各式各樣的操作。
看到這,如果你對字串的印象有些模糊,可以連結到〈Python字串(string)基礎與20種常見操作〉這篇文章,喚起你的記憶。
小結一下字串呈現方式、特性、操作:
- 呈現方式:兩端有引號
- 特性:不可變的資料型態
- 操作:
len()
函式,split()
、join()
等方法
簡單的利用字串回顧了資料型態的呈現方式、特性、操作是什麼後,進入正題,我們來看看字典(dictionary)是什麼?
Python字典(dictionary)是什麼?

講到字典,相信大家都知道是什麼東西,可能你會聯想到國語字典、英文字典,甚至可能會想起當年你在學校查字典比賽拿到的獎品:一本字典。
當你有生詞、單字不懂,你可以透過紙本字典或是網路上的數位字典找出它的意思。那麼,生活經驗中的字典,與Python字典一樣嗎?
概念是相似的,只是角色不同罷了。
生活中,你查字典是進行查詢的動作,有人編輯好字典讓你查到你需要的資訊;在Python程式語言裡,你編寫程式碼,製作字典讓電腦來查詢,電腦瞭解意思後,去執行你希望它幫你做的事。
所以學習字典就是學會編寫出一個Python看得懂的字典,要讓Python看得懂,就需要瞭解Python字典語法(syntax),語法包括資料型態的呈現方式、特性及操作。
呈現方式
首先我們來看一下,字典長怎樣。
下方程式碼就是一個字典,兩端有大括號{}
包覆,大括號內的項目使用逗號區隔,每個項目內都有冒號,形成相對應的查找功能。
{'Muffin':39, 'Scone':25, 'Biscuit':20}
學會字典是以大括號來表示,對你應該不是難事,比較難理解的可能是大括號內又是冒號,又是逗號,還有引號的表示方式,讓你覺得字典就像是大括號內放了一團難解的毛線球,無從理解起。
如果你有這個問題,馬上來看看如何找出毛線球的線頭,兩個步驟個解析字典這個資料型態。
第一步-找出逗號
與串列一樣,字典的每個項目也都是用逗號作區隔。
{'Muffin':39, 'Scone':25, 'Biscuit':20}
這個字典有三個項目'Muffin':39
、'Scone':25
、'Biscuit':20
。
第二步-找出冒號
看懂每個項目分別是什麼後,再來請在項目內找到冒號:,冒號是字典的特色,利用冒號來帶出相對應的指引,以'Muffin':39
這個項目來說,'Muffin’
對應到39
,以此類推,'Scone'
對應25
、'Biscuit'
對應20
。
'Muffin'
以引號來表示,代表它是字串(string);39
則是整數(integer),如果以'39'
表示就代表字串,使用整數或字串有什麼差別呢?有喔!整數可以進行數學的加、減、乘、除運算,字串不行。
這樣的對應方式,就跟你平常在使用字典很像。舉例來說,假如你不懂Muffin這個英文單字是什麼意思,查字典會查到Muffin所對應的意思是鬆餅,雖然很多麵包店直接把Muffin音譯為馬芬,但它本質上就是鬆餅。

走過找出逗點,尋找冒號的2個步驟後,下方這個段字典的程式碼是不是好懂很多了呢?
desserts = {'Muffin':39, 'Scone':25, 'Biscuit':20}
如果再發揮一點想像力,把每個項目內對應的數字當成價格,是不是就形成了一個價目表,Muffin 39元,Scone 25元,Biscuit 20元,你想吃哪一個呢?
看懂字典的呈現方式後,我們來瞭解一下,大家都怎麼稱呼大括號內所包含東西,並以點心(desserts)的例子作說明。
desserts = {'Muffin':39, 'Scone':25, 'Biscuit':20}

- 項目(item)
以逗號區隔開的程式碼。'Muffin':39
是一個項目(item),'Scone':25
也是一個項目,'Biscuit':20
當然也是一個項目。 - 鍵(key)
每個項目內,冒號左邊的為鍵(key),必須為不可變的資料型態,通常使用字串。'Muffin'
就是'Muffin':39
這個項目中的鍵(key),其他兩個項目的鍵你知道是什麼嗎?是'Scone'
及'Biscuit'
。 - 值(value)
每個項目內,冒號右邊的為值(value),可變或不可變的資料型態都可以。'Muffin':39
這個項目的值(value)是39
,'Scone'
及'Biscuit'
這兩個鍵(key)對應的值(value)是25
及20
。
對項目(item)、鍵(key)、值(value)的英文單字有個印象,會對你之後學習操作字典有幫助。就好像你在學習看地圖,北方的英文單字是North,地圖的上的N就代表北方,取North的第一個字母代表,瞭解英文單字可以幫助你理解方位的表示,也可以幫助你理解程式語言。
認識Python字典的外表後,接著來看看它的內涵吧;Python世界裡,面對各種資料型態,你需要看重的內涵是它是否可變。
特性
字典有兩個重要的特性:
- 可變的資料型態
- 沒有順序性
我們逐一來探討這兩個特性。
首先,字典屬於可變(mutable)的資料型態,可變的意思是你可以透過各類操作,直接改變字典內的資料。其他可變的資料型態包括串列(list)、集合(set)。
再來,有順序性是什麼意思呢?就是指資料的排序不會改變,例如字串、串列都是有順序性的資料型態,你可以數字來指出各個字元或值所在的位置。
例如'Muffin'
這個字串,index 0的位置是字元M
。
>>> 'Muffin'[0]
M
但字典是沒有順序性的,所以你無法使用index來查找字典內的資料。
剛開始學習Python,你可能會對資料型態可變與否,是否有順序性覺得相當混亂,這是很正常的。
學習新的東西,會混亂代表你很努力地在學習新的知識(腦袋空空會混亂嗎?應該是一片寧靜,不過如果思緒都釐清了,會恢復一片祥和的)。
腦袋還在消化吸收新知,就像在電腦安裝新軟體,給它點時間,它會安裝好的,如果你硬是要同時安裝100個軟體,當機也是很正常的。
除此以外,你不需要逼迫自己要立刻把各種資料型態的特性背起來,以為這樣才可以學好程式語言。真的不需要,在你練習打程式碼的過程中你會記得的,因為你會發現原來可不可變有這樣的用處,有沒有順序性會導致如此的結果。
除了學習Python的知識外,多練習編寫程式碼,從各種練習中去釐清你所學到的資料型態、語法,你會有更深刻的體悟,也會很有成就感,當程式碼順利運作時,是件很開心的事。
回到主題,字典的重要特性是可變的、無順序性。
瞭解字典的外表與內涵後,接下來開始學習操作字典囉。當然,操作前總是要先建立字典,有了字典才能操作,先來看看怎麼建立字典吧。
如何建立字典
建立各種資料型態的物件,不外乎使用應有的符號、或是用函式來建立,這裡我們介紹3種建立Python字典的方式,分別是:
- 使用大括號
{}
建立字典 - 使用
dict()
函式建立字典 - 使用生成式建立字典
有些建立字典的方式可能有點複雜,剛開始看不懂沒關係,你可以只學會一種建立字典的方式,依然可以繼續學習如何操作字典。其他的方式有個印象,知道這樣子的程式碼是會變出字典就可以了。
使用大括號{}建立字典
直接使用大括號{}
建立字典是最直觀、也最簡單的建立字典方式。你可以只會這個建立字典的方式,然後跳到字典操作的段落繼續學習。
這個方式是這樣的,大括號內的項目以逗號隔開。項目內的鍵與值以冒號作為相對應的表示,例如前面所舉的desserts
字典的例子。
desserts = {'Muffin':39, 'Scone':25, 'Biscuit':20}
另外,最簡單的字典是空的:
empty_dictionary = {}
有個跟字典很相像資料型態:集合(set),集合也是使用大括號包覆在元素的兩端,不同的是裡頭沒有冒號,只有逗號區隔開每個項目。
>>> a_set = {1, 2, 3}
空集合怎麼表示呢?
set()
set()
就是空集合,而{}
是空字典。
使用dict()函式建立字典
搭配鍵與值的序列,使用dict()
函式建立字典
「鍵與值的序列」聽起來有點拗口,再說明的白話一點就是兩兩成對的序列,可以搭配dict()
函式來建立字典,dict是取字典(dictionary)的英文前四個字來表示。
下方afternoon_tea
就是一個「鍵與值的序列」
>>>afternoon_tea = [['Muffin', 39], ['Scone', 25], ['Biscuit', 20]]
afternoon_tea
串列內的項目還是串列,內層的串列我們就稱它為子串列,每個子串列都兩兩成對。
搭配dict()
函式時,Python會把子串列中的首個項目當成鍵(key),另一個則當成值(value)。
>>>dict(afternoon_tea)
執行程式碼後,得到的字典像這樣:
{'Muffin': 39, 'Scone': 25, 'Biscuit': 20}
「鍵與值的序列」也可以是tuple,afternoon_tea的例子中,你可以把串列替換為tuple,一樣可以建立字典。
除了看起來很明顯就是兩兩成對的序列外,雙字元的字串也可視為「鍵與值的序列」。
>>> number = ('a1', 'b2', 'c3', 'd4')
>>> dict(number)
{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
字串中的首個字元,會被Python視為鍵,另一個字元視為值。
鍵是字串時,利用變數與賦值概念建立字典
在介紹字典是什麼的段落,我們有提到鍵(key)必須是不可變的資料型態,如果你使用下述的方法建立字典,鍵的資料型態會再限縮為字串(string)。
>>> dict(Muffin=39, Scone=25, Biscuit=20)
建立的字典會是這樣:
{'Muffin': 39, 'Scone': 25, 'Biscuit': 20}
這個方法使用等號表示鍵所對應的值。
要注意的是,鍵不可以是保留字,而且在dict()
函式內,鍵以變數方式表示,也就是說,鍵的位置你不是填入字串,而是一個變數。再看一眼程式碼中的Muffin
,是以變數呈現,不是字串,因為兩端沒有引號,你注意到了嗎?
待程式碼運作後,鍵的位置才會是字串。
使用zip()函式建立字典
zip()
函式可以同時迭代多個序列,序列可以是串列、tuple,返回的值是一個zip物件。
要利用dict()
與zip()
函式建立字典,你會需要有兩個序列,把這兩個序列做為zip()
的引數,產生字典。下
方的例子就是以這樣的方式建立字典:
>>> name = ['Muffin', 'Scone', 'Biscuit']
>>> price = [39, 25, 20]
>>> dict(zip(name, price))
執行程式碼結果如下:
{'Muffin': 39, 'Scone': 25, 'Biscuit': 20}
使用生成式(dict comprehensions)建立字典
字典生成式的英文是 dict comprehensions,想使用這個方式建立字典,你需要先對for迴圈有認識,對變數也要有一定的熟悉度。
如果你對for迴圈不瞭解,你可以參考《 Python for 迴圈(loop)的基本認識與7種操作》這篇文章;關於變數的觀念,《Python觀念,從 = 開始》文章的「變數是一個名稱」段落可以幫助你。
利用生成式建立字典你會需要3個工具:
- 大括號
{}
- 冒號
:
- 變數
for
迴圈
字典生成式:
{代表鍵的變數 : 代表值的變數
for
可迭代物}
字典生成式的公式看起來相當的抽象,直接看下方的例子來理解吧。(**是平方的意思,x**2就代表x2)
>>> {x: x**2 for x in range(1, 4}
{1: 1, 2: 4, 3: 9}
如果你對字典生成式有興趣,想瞭解更詳細的介紹,你可以參考Python的官方文件。
字典的16種操作
介紹各種操作前,先釐清一下,本文中我們把字典內的東西稱呼為元素,因為項目(item)、鍵(key)、值(value)在字典中都有所指,避免混淆故把放在字典裡的東西以元素表示。
讓我們來看看如何對字典,進行元素提取、增加、改變、刪除及計算項目數量的操作吧!
取得字典內的元素
買了一本字典、或打開字典網站,你的目的就是要查找資料。當你建立了字典後,如何取得字典內所含括的資料呢? 接下來分享6個取得字典元素的操作給你知道:
使用中括號[]與鍵(key)取得指定的值(value)
先來回顧一下中括號[]
與其他資料型態的搭配,中括號如果搭配字串、串列或tuple使用,可以取得指定位置的字元或項目。
舉例來說,建立一個名為a
的串列,串列內包含了三個a開頭的疏果單字,分別是almond(杏仁)、apple(蘋果)、avocado(酪梨),如果你想取得位置0的水果,你可以這麼做:
>>> a = ['almond', 'apple', 'avocado']
>>> print(a[0])
執行程式碼,就得到第0個位置的疏果是almond。
almond
由於字串、串列、tuple都序列性的資料型態,所以可以使用index來取得字元或項目,換言之你可以很明確地告訴Python你要的東西所在的位置,序號為何,給Python一個數值,它就會回傳你要的字元或項目給你。
然而字典是沒有順序的資料結構,你沒有辦法指出第0個位置、第1個位置是什麼。但是字典有個很強大的功能,就是每個項目(item)都是鍵(key)與值(value)的配對,每個鍵(key)都有對應的值(value),這讓你找東西就更容易了,你不需要知道你需要的東西在哪個位置,只要記得他的鍵(key)是什麼,Python就可以回傳對應的值(value)給你。
馬上來看個例子,這次我們來做一個冰箱(fridge)裡放各種疏果數量的字典。
>>> fridge = {'almond': 5, 'apple': 2, 'avocado': 10}
建立這個字典的人大概很愛吃酪梨(avocado),冰箱裡放了10個酪梨,三不五時就要檢查冰箱裡還有幾個酪梨,透過字典他可以很快查詢到冰箱還有幾個酪梨,只需在中括號內打上’avocado’這個字串就可以知道冰箱還剩幾個酪梨了。
>>> fridge['avocado']
10
使用get()方法(Method)取得指定的值(value)
get()
方法除了可以取得鍵(key)所對應的值(value),它還可以在字典不存在這個鍵(key)的時候,可以回傳備用的值。
字典.get(鍵, 備用的值)
我們來舉個例子,情境是這樣的,你要去採買,用字典列出了你要採買的東西還有數量,東西的名稱你將它設為鍵(key),數量設為值(value)。
下方的to_buy
字典,你放了兩個項目,代表你要買3個蘋果(apple)、5包杏仁(almond)。
>>> to_buy = {'apple':3, 'almond':5}
出門採購前,你想確認採買的數量,而且你其實需要採購酪梨(avocado),你不清楚有沒有把酪梨的採購數量放入to_buy
字典,假如字典有採買的數量,你就按照字典的數量採購,沒有的話,你要買10個酪梨。
>>> to_buy.get('avocado', 10)
10
>>>to_buy.get('apple')
3
>>>to_buy.get('almond')
5
>>> to_buy
{'apple': 3, 'almond': 5}
使用get()
方法可以幫你取得對應的值,如果項目存在可以返回備用值,字典的項目不會被改變。
get()
方法要點:
- 當鍵存在時
回傳對應的值,即便你在第2個參數打上備用值,依然會回傳字典內原有的對應值。備用值只有在項目不存在時才會啟用。 - 當鍵不存在時
回傳get()第2個參數所列的備用值。
使用setdefault()方法取得指定的值,並把不存在的項目加入
介紹setdefault()
方法前,我們先瞭解一下字面的英文意思。
你可以把setdefault看成兩個單字,set與default,在這裡,set的意思是設置,default是預設、默認,setdefault就是默認的設置、預設的設置之意。


看懂英文的意思後,我們來看看如何使用setdefault()
方法,他的功能與get()
方法有點像,不同點在於,當你指定的鍵與值不在字典裡,setdefault()
可以幫你加進字典中,setdefault()
具有取得值及增加項目的功用。
一樣使用剛剛建立的 to_buy
字典來說明,這次用setdefault()
方法來取得蘋果與酪梨數量。
>>> to_buy = {'apple':3, 'almond':5}
>>> to_buy.setdefault('apple', 1)
3
>>> to_buy.setdefault('acavodo', 10)
10
>>> to_buy
{'apple': 3, 'almond': 5, 'acavodo': 10}
你可以從上方的程式碼發現,執行後回傳蘋果的數量3
,酪梨的採買數量10
,因為字典裡已經寫好要買3個蘋果,所以備用的數量1沒有被接納,酪梨則因為不存在字典中,所以備用的值10
被接納了,而且 'acavodo': 10
成功加入to_buy
字典中。
使用keys()方法取得所有的鍵(key)
接下來要介紹的三個方式其實都是相似的概念,使用keys()
、values()
、items()
來取得所有的鍵、值、項目。
有個小細節要注意,這三個方法內的英文字母都是以複數呈現,記得都要加上s喔。
再把前面的下午茶afternoon_tea
字典再拿來舉例,使用keys()
來取得字典中的所有鍵。
>>> afternoon_tea = {'Muffin': 39, 'Scone': 25, 'Biscuit': 20}
>>> afternoon_tea.keys()
執行程式碼回傳:
dict_keys(['Muffin', 'Scone', 'Biscuit'])
你有發現回傳的東西前面有dict_keys
嗎?這代表它是dict_keys
資料型態,如果你希望回傳串列,使用list()
函式就可以了。
>>> list(afternoon_tea.keys())
['Muffin', 'Scone', 'Biscuit']
使用values()方法取得所有的值(value)
>>> list(afternoon_tea.values())
[39, 25, 20]
使用items()方法取得所有的項目(item)
取得所有的項目,並回傳串列這個資料型態
>>> list(afternoon_tea.items())
[('Muffin', 39), ('Scone', 25), ('Biscuit', 20)]
keys()
、values()
、items()
這三個方法很常與for
迴圈結合使用,你可以參考《Python for 迴圈(loop)的基本認識與7種操作》這篇文章「迭代字典(dictionary)」段落,瞭解它們是怎麼合作的。
檢查字典內的元素
使用in成員運算子檢查
跟檢查串列(list)中是否存在特定的項目一樣,可以使用in
運算子,字典中如果有你要找的鍵就會回傳True
,沒有就是False
。
>>> 'Muffin' in afternoon_tea
True
以此類推,如果你使用not in
來檢查,Python就會幫你檢查,指定的元素是否不存在字典中。
>>> 'Scone' not in afternoon_tea
False
Scone 有在字典中,所以回傳False。
使用 == 或 != 比較運算子
如果你有兩個字典,你想檢查它們所擁有的元素一不一樣,你可使用比較運算子 ==
或 !=
來檢查。
>>> this = {'a':1, 'b':2, 'c':3}
>>> here = {'a':1, 'c':3, 'b':2}
>>> this == here
True
看到上方的程式碼執行後返回True
,就代表兩個字典內的元素是一樣的囉,名叫 this
與 here
的這兩個字典裡頭的鍵與值是相同的。因為Python字典不是序列型的資料型態,所以只要項目相同,順序不同沒有關係。
而如果你使用 !=
來檢查,則會回傳False
,一樣內容的字典,你問Python它們內含的項目是否不一樣,Python當然會答你:錯,False
。
>>> this = {'a':1, 'b':2, 'c':3}
>>> here = {'a':1, 'c':3, 'b':2}
>>> this != here
False
須要留心的是,雖然兩個字典內含的項目一樣,但你可以說this
跟 here
是同一個物件嗎?不行喔。
讓我們有請 is
運算子來評斷,is
這個運算子可以判別 this
與 here
字典是不是同一個物件,如果是同一個物件會回傳True
,不是的話會回傳False
。
>>> this is here
False
經過is
運算子的決斷,這兩個字典不是同一個物件,但兩個字典所含的項目都相同。
改變字典內的元素,使用[]與=
直接進入情境來說明,假設你是咖啡廳老闆,因為原物料上漲,你要把Muffin的價格調高到49元,你可以用賦值的方式,直接把新的價錢賦予給Muffin。
原本的下午茶字典如下:
>>> afternoon_tea = {'Muffin': 39, 'Scone': 25, 'Biscuit': 20}
為了調整價格,你需要把’Muffin’所對應的值改變為49。
>>> afternoon_tea['Muffin'] = 49
>>> afternoon_tea
執行程式碼,看看是不是把Muffin價格改成49了。
{'Muffin': 49, 'Scone': 25, 'Biscuit': 20, 'ice cream': 9}
成功把Muffin價格改成49。
使用 =
這個賦值符號,把你要改變的值賦予到該指定的鍵上,值就被你改變囉。
增加字典的元素
使用 [] 與 = 增加項目
延續前面改變Muffin價格的方式,如果你想增加可頌(croissant)這個品項,定價38元,你可以這樣做:
>>> afternoon_tea['croissant'] = 38
>>> afternoon_tea
執行程式碼驗證看看:
{'Muffin': 49, 'Scone': 25, 'Biscuit': 20, 'croissant': 38}
可頌(croissant)直接加到字典裡囉!
使用 [ ]
及 =
對字典進行變更或新增,取決於字典內是否原本就有那個項目,如果有就會變更值,沒有的話便新增項目。
使用setdefault()方法增加項目
setdefault()
方法除了可以檢查字典內是不是有對應的值,當字典中不存在指定的鍵與值時,便可以增加項目進字典中。
同樣以afternoon_tea
這個字典來說明:
>>>afternoon_tea ={'Muffin': 49, 'Scone': 25, 'Biscuit': 20}
>>>afternoon_tea.setdefault('croissant', 38)
執行程式碼,會回傳:
38
看到setdefault()第二個引數38回傳出來,就表示你成功加入’croissant’: 38這個項目了。
輸入afternoon_tea
來驗證看看吧:
>>> afternoon_tea
執行程式碼回傳:
{'Muffin': 49, 'Scone': 25, 'Biscuit': 20, 'croissant': 38}
使用update()方法增加項目
update的英文意思是更新,Python中的update()
可將另一個字典更新到你的字典中。
從例子來看如何使用:
因為國內旅遊興盛,你的咖啡廳生意大好,但常被顧客反應餐點太少,所以你打算一次新增三個新甜點,回應顧客的需求。
你為新甜點做出了一個名為new_desserts
的字典,新菜單有鬆餅(waffle)、可麗餅(crepe)、馬卡龍(macaron)。
>>> new_desserts = {'waffle':180, 'crepe':160, 'macaron':200}
接著使用update()
方法,將new_desserts
字典更新到afternoon_tea
字典中。
>>> afternoon_tea.update(new_desserts)
>>> afternoon_tea
執行程式碼,來看看afternoon_tea
是不是加上了新菜單:
{'Muffin': 49, 'Scone': 25, 'Biscuit': 20, 'croissant': 38, 'waffle': 180, 'crepe': 160, 'macaron': 200}
成功更新菜單了,昂貴的三個甜點加入銷售!
假如new_desserts
字典中有重複的項目,new_desserts
內的元素會更新進去afternoon_tea
中。
>>> afternoon_tea = {'Muffin': 49, 'Scone': 25, 'Biscuit': 20, 'croissant': 38}
>>> new_desserts = {'waffle':180, 'crepe':160, 'macaron':200, 'Scone':999999}
>>> afternoon_tea.update(new_desserts)
>>> afternoon_tea
執行程式碼,看看重複的'Scone'
,在更新後的字典中會是什麼狀況:
{'Muffin': 49, 'Scone': 999999, 'Biscuit': 20, 'croissant': 38, 'waffle': 180, 'crepe': 160, 'macaron': 200}
你的員工不小心把標示天價的司康(Scone)也加到new_desserts
字典中,afternoon_tea
一更新你才發現,哇~司康(Scone)標價變成了天價,要999,999元。
看到這你有沒有發現一件事,其實update()
方法也含有更動字典的功能。
刪除字典內的元素
使用del陳述句刪除項目
del
陳述句可以刪除字典中的項目,搭配指定的鍵,你可以精準執行刪除。
再回到咖啡店的情境,你必須馬上把司康(Scone)從afternoon_tea
字典中刪除,不然就要被爆料是超級黑店了,你不想拿到一堆一星評價啊。
馬上使用del陳述句,刪掉Scone這個項目:
>>> del afternoon_tea['Scone']
>>> afternoon_tea
執行程式碼,太好了,司康已經刪除。
{'Muffin': 49, 'Biscuit': 20, 'croissant': 38, 'waffle': 180, 'crepe': 160, 'macaron': 200}
使用del
陳述句,你只需要輸入del
,接著打上afternoon_tea['Scone']
就可以了。
使用pop()方法刪除項目
除了用del陳述句來刪除項目,你還可以使用pop()
方法刪除項目,這個方法還會回傳刪除的項目中,所對應的值給你看。
時空倒轉,回到司康還沒刪除的時間點,你決定使用pop()
刪除項目:
>>> afternoon_tea.pop('Scone')
執行程式碼,Python會回傳鍵'Scone'
所對應的值999999
。
999999
確認一下afternoon_tea字典是否已經刪除司康與999999那個項目:
>>> afternoon_tea
執行程式碼,刪除成功!
{'Muffin': 49, 'Biscuit': 20, 'croissant': 38, 'waffle': 180, 'crepe': 160, 'macaron': 200}
使用clear()方法刪除所有的項目,字典清空
如果你覺得你建立的字典讓你心煩意亂,你可以使用clear()
方法把全部的項目刪除,留下一個空字典。
afternoon_tea
字典讓你看了心煩,你決定打掉重做。
>>> afternoon_tea.clear()
>>> afternoon_tea
{}
只剩一個空字典了。
用len()函式計算字典中的項目數量
len()
函式可以用來取得Python字典項目的數量,讓你算算你的咖啡廳總共有幾種餐點。
在你刪除afternoon_tea
字典前,先使用len()
函式,看看刪掉全部後,要再重新做出幾個項目:
>>> afternoon_tea = {'Muffin': 49, 'Biscuit': 20, 'croissant': 38, 'waffle': 180, 'crepe': 160, 'macaron': 200}
>>> len(afternoon_tea)
執行程式碼後:
6
總共有6個餐點,好像不會太多,所以你就用clear()
全刪了。
Python書籍推薦
本文介紹了Python字典的基礎知識,並告訴你如何建立字典,建立好字典後可以怎麼操作。
是不是迫不急待想練習Python字典的操作呢?如果無從著手,推薦你使用《Python 自動化的樂趣(第2版)》這本書來練習,書中會教你利用Python字典做出一個井字遊戲,還會設定一個遊戲的情境,讓你用字典練習列出你的遊戲背包裡有多少東西,並且計算出總數。
如果你對於巢狀字典的概念很混亂,你可以閱讀《Python程式設計的樂趣(第2版)》,這本書將向你展示字典中的串列,串列中的字典,還有字典中的字典,也會舉for
迴圈的例子。
延伸閱讀:
寫的好詳細,介紹深入淺出,獲益良多,給您點讚!辛苦嘍!
謝謝您~