Python dict dictionaries Python 数据结构——字典
字典是比列表更先進(jìn)的一種內(nèi)置數(shù)據(jù)結(jié)構(gòu)。
“字典”就像實(shí)際中的字典一樣,每一個單詞對應(yīng)好幾個意思。在Python里面就是每一個鍵對應(yīng)一個關(guān)聯(lián)值。
在Python中,我們可以很方便的創(chuàng)建字典。
a_dict = {'server': 'db.diveintopython3.org', 'database': 'mysql'}server 為鍵,db.diveintopython3.org 為值
database 為鍵,mysql 為值
字典由鍵(key)索引,而不能用關(guān)聯(lián)值索引。
所以我們可以使用a_dict[server] 而不能使用 a_dict[mysql] ,我們可以由鍵獲取值,而不能根據(jù)值獲取鍵。
字典 可以在任何時間被修改,而且沒有預(yù)定義大小。字典中不能有重復(fù)的鍵,所以當(dāng)對原來有的鍵進(jìn)行賦值時,新的值會取代舊的值,而不是創(chuàng)建一個新鍵值對。
當(dāng)然,如果對一個不存在的鍵進(jìn)行賦值,那么Python就會自動建立一個新的鍵值對。
如何刪除一個鍵值對。
使用del 就可以了。
怎么給一個鍵對應(yīng)好幾個值呢。
字典能對應(yīng)好多意思,當(dāng)然Key也能對應(yīng)好多value
雖然Python 本身不能對字典的鍵進(jìn)行多賦值,但是我們可以使用列表的方法。
a_dict = {'server': ['db.diveintopython3.org','blog.ppzchina.com'], 'database': 'mysql'}
這樣,我們就可以使用列表的性質(zhì)了,任何性質(zhì)。
有沒有C語言中的二維數(shù)組的感覺。但卻強(qiáng)大多了。
當(dāng)然針對字典,還有一些常用的方法如下表。使用方法 a_dict.clear( )
| 方法 | 說明 |
| clear( ) | 從字典刪除所有項 |
| copy( ) | 創(chuàng)建并返回字典的淺拷貝(新字典元素為原始字典的引用) |
| get(key [ ,returnvalue] ) | 返回key的值,若無key而指定了returnvalue,則返回returnvalue 值,若無此值則返回None |
| has_key( key ) | 如果key存在于字典中,就返回1(真);否則返回0(假) |
| items( ) | 返回一個由元組構(gòu)成的列表,每個元組包含一對鍵-值對 |
| keys( ) | 返回一個由字典所有鍵構(gòu)成的列表 |
| popitem( ) | 刪除任意鍵-值對,并作為兩個元素的元組返回。如字典為空,則返回KeyError異常 |
| setdefault( key [,dummvalue]) | 具有與get方法類似的行為。如key不在字典中,同時指定了dummvalue,就將鍵(key)和指定的值(dummvalue)插入字典,如果沒有指定dummvalue,則值為None |
| update( newDictionary ) | 將來自newDictionary的所有鍵-值添加到當(dāng)前字典,并覆蓋同名鍵的值 |
| values( ) | 返回字典所有值組成的一個列表 |
| iterkeys( ) | 返回字典鍵的一個迭代器 |
| iteritems( ) | 返回字典鍵-值對的一個迭代器 |
| itervalues( ) | 返回字典值的一個迭代器 |
from:?http://www.cnblogs.com/Kaysin/archive/2013/02/12/2910251.html
總結(jié)
以上是生活随笔為你收集整理的Python dict dictionaries Python 数据结构——字典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python list 数据类型:列表
- 下一篇: Python 异常处理 Python 基