# 4.1 字典的使用
# 4.2 創建和使用字典
## 4.2.1 dict函數

## 4.2.2 基本字典操作
與序列(sequence)相似處:
* len(d) 返回 d 中項(鍵 - 值 對) 的數值
* d[k] 返回關聯到鍵 k 上的值
* d[k]=v 將值v關聯到鍵 k 上
* del d[k] 刪除鍵為 k 的項
* k in d 檢查 d 中是否有含有鍵為 k 的項
區別:
* 鍵類型:字典的鍵不一定為整型數據(但也可能是),也可能是其他不可變類型,比如浮點型(實型)、字符串或者元組。
* 自動添加:即使那個鍵起初在字典中并不存在,也可以為它分配一個值,這樣字典就會建立新的項。而(在不使用append方法或者其它類似操作的情況下)不能將值關聯到列表范圍之外的索引上。
* 成員資格: 表達式 k in d (d 為字典)查找的是鍵,而不是值。表達式 v in l (l 為列表)則用來查找值,而不是索引。

## 4.2.3 字典的格式化字符串

## 4.2.4 字典方法
1.clear
clear方法清除字典中所有的項。


2.copy
copy 方法返回一個具有相同鍵-值對的新字典(這個方法實現的是淺復制(shallow copy),因為值本身就是相同的,而不是副本)。


3.fromkeys
fromkeys方法使用給定的鍵建立新的字典,每個鍵默認對應的值為None。

4.get
get 方法是個更寬松的訪問字典項的方法。用get 訪問不存在的項,不會出錯。

5.has_key
has_key方法可以檢查字典是否含有給出的鍵。

6.items 和 iteritems
items 方法將所有的字典項以列表方式返回,這些列表項中的每一項都來息(鍵,值)。但是項在返回時并沒有特殊的順序。

iteritems 方法的作用大致相同,但是會返回一個迭代器對象而不是列表

7.keys 和 iterkeys
keys 方法將字典中的鍵以列表形式返回,而iterkeys則返回針對鍵的迭代器。

8.pop
pop 方法用來獲得對應于給定鍵的值,然后將這個鍵-值對從字典中移除。

9.popitem
popitem 方法類似于list.pop,后者會彈出列表的最后一個元素。

10.setdefault
setdefault 方法在某種程度上類似于 get 方法,就是能夠獲得與給定鍵相關聯的值,除此之外, setdefault 還能在字典中不含有給定鍵的情況下設定相應的鍵值。

11.update
update 方法可以利用一個字典項更新另外一個字典。

12.values 和 itervalues
values方法以列表的形式返回字典中的值(itervalues返回值的迭代器)。

# 4.3 小結
dict(seq): 用(鍵,值)對(或者映射和關鍵字參數)建立字典。