Python進階01 詞典

pythontab發表於2014-06-23

基礎教程介紹了基本概念,特別是物件和類。

進階教程對基礎教程的進一步擴充,說明Python的細節。希望在進階教程之後,你對Python有一個更全面的認識。

 

之前我們說了,列表是Python裡的一個類。一個特定的表,比如說nl = [1,3,8],就是這個類的一個物件。我們可以呼叫這個物件的一些方法,比如 nl.append(15)。

我們要介紹一個新的類,詞典 (dictionary)。與列表相似,詞典也可以儲存多個元素。這種儲存多個元素的物件稱為容器(container)。

 

基本概念

常見的建立詞典的方法:

>>>dic = {'tom':11, 'sam':57,'lily':100}
>>>print type(dic)

詞典和表類似的地方,是包含有多個元素,每個元素以逗號分隔。但詞典的元素包含有兩部分,鍵和值,常見的是以字串來表示鍵,也可以使用數字或者真值來表示鍵(不可變的物件可以作為鍵)。值可以是任意物件。鍵和值兩者一一對應。

比如上面的例子中,‘tom’對應11,'sam對應57,'lily'對應100

與表不同的是,詞典的元素沒有順序。你不能透過下標引用元素。詞典是透過鍵來引用。

>>>print dic['tom']
>>>dic['tom'] = 30
>>>print dic

構建一個新的空的詞典:

>>>dic = {}
>>>print dic

在詞典中增添一個新元素的方法:

>>>dic['lilei'] = 99
>>>print dic

這裡,我們引用一個新的鍵,並賦予它對應的值。

詞典元素的迴圈呼叫

dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}
for key in dic:
    print dic[key]

在迴圈中,dict的每個鍵,被提取出來,賦予給key變數。

透過print的結果,我們可以再次確認,dic中的元素是沒有順序的。

詞典的常用方法

>>>print dic.keys()           # 返回dic所有的鍵
>>>print dic.values()         # 返回dic所有的值
>>>print dic.items()          # 返回dic所有的元素(鍵值對)
>>>dic.clear()                # 清空dic,dict變為{}

另外有一個很常用的用法:

>>>del dic['tom']             # 刪除 dic 的‘tom’元素

del是Python中保留的關鍵字,用於刪除物件。

與表類似,你可以用len()查詢詞典中的元素總數。

>>>print(len(dic))

總結

詞典的每個元素是鍵值對。元素沒有順序。

dic = {'tom':11, 'sam':57,'lily':100}
dic['tom'] = 99
for key in dic: ...
del, len()


相關文章