作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!
通過我們的基礎教程,我們已經對Python建立了基本概念,也對對象和類有一個相對明確的認識。
我們的進階教程就是對基礎教程的進一步拓展,進一步瞭解Python的細節。希望在進階教程之後,你可以對Python的基本文法有一個相對全面的認識。
之前我們說了,表是Python裡的一個類。一個特定的表,比如說nl = [1,3,8],就是這個類的一個對象。我們可以調用這個對象的一些方法,比如 nl.append(15)。
現在,我們要介紹一個新的類,就是詞典 (dictionary)。與表相類似,詞典也可以儲存多個元素。這種可以用來儲存多個元素的對象統稱為容器(container)。
1. 基本概念
常見的建立詞典的方法:
>>>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
(引用一個新的鍵,賦予對應的值)
2. 對dictionary的元素進行迴圈調用:
dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}for key in dic: print dic[key]
可以看到,在迴圈中,dict的一個鍵會提取出來賦予給key變數。
通過print的結果,我們可以再次確認,dic中的元素是沒有順序的。
3. 詞典的其它常用方法
>>>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()