字典是python中唯一內建的映射類型。字典中的值并沒有特殊的順序,但是都存儲在一個特定的鍵(key)里。
鍵可以是數字,字符串甚至是元組。
1. 創建和使用字典
字典可以通過下面的方式創建:
代碼如下:
phonebook = {'Alice':'2341','Beth':'9102','Ceil':'3258'}
字典由多個鍵及與其對應的值構成的對組成。每個鍵和它的值之間用冒號(:)隔開,項之間用逗號(,)隔開,而整個字典是由一對大括號括起來??兆值洌簕}
1.1 dict函數
可以用dict函數通過映射(比如其他字典)或者(鍵,值)這樣的序列建立字典。
代碼如下:
>>> items = [('name','Gumby'),('age'.42)]
>>> d = dict(items)
>>> d
{'age':42,'name':'Gumby'}
>>> d = dict(name='Gumby','age'=42)
>>> d
{'age':42,'name':'Gumby'}
1.2 基本字典操作
(1)len(d)返回d中項(鍵-值對)的數量;
(2)d[k]返回關聯到k上的值;
(3)d[k]=v將值v關聯到鍵k上;
(4)del d[k]刪除鍵為k的項;
(5)k in d檢查d中是否有含鍵為k的項;
1.3 字典的格式化字符串
字典格式化字符串:在每個轉換說明符中的%字符后面,可以加上(用圓括號括起來的)鍵,后面再跟上其他說明元素。
只要所有給出的鍵都能在字典中找到,就可以獲得任意數量的轉換說明符。
代碼如下:
>>> temple = ‘the price of cake is $%(cake)s,the price of milk of cake is $%(milk)s. $%(cake)s is OK'
>>> price = {'cake':4,'milk':5}
>>>print temple % price
‘the price of cake is $4,the price of milk of cake is $5. $4 is OK'
1.4 字典方法
1.4.1 clear
clear方法清除字典中所有的項,這是個原地操作,無返回值(或者說返回none)。
考慮下面2種情況:
a.將x關聯到一個新的空字典來清空它,這對y一點影響都沒有,y還是關聯到原先的字典
代碼如下:
>>> x = {}
>>> y = x
>>> x['key'] = 'value'
>>> y
{'key':'value'}
>>> x = {}
>>> y
{'key':'value'}
b.如果想清空原始字典中所有的元素,必須用clear方法。
代碼如下:
>>> x = {}
>>> y = x
>>> x['key'] = 'value'
>>> y
{'key':'value'}
>>> x.clear()
>>> y
{}
1.4.2 copy
copy方法返回一個具有相同鍵-值對的新字典(這個方法實現的是淺復制,因為值本身是相同的,而不是副本)
在副本中替換值時,原始字典不受影響,但是如果修改了某個值,原始字典會改變。]
代碼如下:
>>> x = {'a':1,'b':[2,3,4]}
>>> y = x.copy()
>>> y['a'] = 5
>>> y['b'].remove(3)
>>> y
{'a':5,'b':[2,4]}
>>> x
{'a':1,'b':[2,4]}