Python進階01 詞典

來源:互聯網
上載者:User

作者: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()

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.