字典是比列表更先進的一種內置數據結構。
“字典”就像實際中的字典一樣,每一個單詞對應好幾個意思。在Python里面就是每一個鍵對應一個關聯值。
在Python中,我們可以很方便的創建字典。
a_dict = {'server': 'db.diveintopython3.org', 'database': 'mysql'}
server 為鍵,db.diveintopython3.org 為值
database 為鍵,mysql 為值
字典由鍵(key)索引,而不能用關聯值索引。
所以我們可以使用a_dict[server] 而不能使用 a_dict[mysql] ,我們可以由鍵獲取值,而不能根據值獲取鍵。
字典 可以在任何時間被修改,而且沒有預定義大小。字典中不能有重復的鍵,所以當對原來有的鍵進行賦值時,新的值會取代舊的值,而不是創建一個新鍵值對。
當然,如果對一個不存在的鍵進行賦值,那么Python就會自動建立一個新的鍵值對。
如何刪除一個鍵值對。
使用del 就可以了。
怎么給一個鍵對應好幾個值呢。
字典能對應好多意思,當然Key也能對應好多value
雖然Python 本身不能對字典的鍵進行多賦值,但是我們可以使用列表的方法。
a_dict = {'server': ['db.diveintopython3.org','blog.ppzchina.com'], 'database': 'mysql'}
這樣,我們就可以使用列表的性質了,任何性質。
有沒有C語言中的二維數組的感覺。但卻強大多了。
當然針對字典,還有一些常用的方法如下表。使用方法 a_dict.clear( )
方法
|
說明
|
clear( )
|
從字典刪除所有項
|
copy( )
|
創建並返回字典的淺拷貝(新字典元素為原始字典的引用)
|
get(key [ ,returnvalue] )
|
返回key的值,若無key而指定了returnvalue,則返回returnvalue 值,若無此值則返回None
|
has_key( key )
|
如果key存在於字典中,就返回1(真);否則返回0(假)
|
items( )
|
返回一個由元組構成的列表,每個元組包含一對鍵-值對
|
keys( )
|
返回一個由字典所有鍵構成的列表
|
popitem( )
|
刪除任意鍵-值對,並作為兩個元素的元組返回。如字典為空,則返回KeyError異常
|
setdefault( key [,dummvalue])
|
具有與get方法類似的行為。如key不在字典中,同時指定了dummvalue,就將鍵(key)和指定的值(dummvalue)插入字典,如果沒有指定dummvalue,則值為None
|
update( newDictionary )
|
將來自newDictionary的所有鍵-值添加到當前字典,並覆蓋同名鍵的值
|
values( )
|
返回字典所有值組成的一個列表
|
iterkeys( )
|
返回字典鍵的一個迭代器
|
iteritems( )
|
返回字典鍵-值對的一個迭代器
|
itervalues( )
|
返回字典值的一個迭代器
|