字典
字典是呈鍵值對的形式存在,以逗號分割,大括號包圍的無序的,可以被修改的序列。它是基礎數據類型中唯一一個映射關係的數據類型。
字典的定義
1、zip 將幾個序列對應索引位上的元素分到一個元組中,形成一個列表。新元組的個數取決於最短序列的長度
注意:字典的排序是無序的,所以定義字典或者字典生成之後的元素順序是不同的
2、dict
3、{} 直接定義
4、fromkeys 以後面序列的元素爲鍵,默認值爲None的字典,可以指定值
字典的特點
1、 字典是無序的,所以字典沒有索引值
2、 字典沒有索引值,所以字典以鍵取值
3、 字典以鍵取值,所以字典的鍵唯一且不可被修改,但是值可以修改
4、 字典的鍵不可以被修改,所以列表和字典不可以做鍵
字典的取值
1、keys 獲取字典所有的鍵
2、values 獲取字典所有鍵的值
3、get 以鍵取值,如果該鍵不存在,默認返回None,也可以指定返回的內容
4、update 更新指定鍵的值,如果不存在,會在字典中插入這個不存在的鍵和值
5、setdefault 設置默認,如果鍵存在返回該鍵的值,如果不存在,創建這個鍵,默認返回None,也可以指定值
6、items 將鍵的對應值以元組的形式返回
字典的刪除
1、pop 彈出,刪除指定的鍵和其對應的值
2、popitem 隨機彈出一對鍵值,這裏的隨機是因爲字典是無序的,所以不存在按順序彈出
3、clear 刪除所有的字典內容
字典的判斷
1、has_key 判斷指定的鍵是否在字典中,這個方法將被in代替
字典的模式
1、 視圖模式
a) viewitems
b) viewkeys
c) viewvalues
2、迭代模式:直接調用這三個模式時,只能得到一個內存地址,需要具體取值的話,需要藉助next()來具體取值
a) iteritems
b) iterkeys
c) itervalues
字典的淺拷貝
copy 拷貝對象和被拷貝對象的嵌套部分指向同一塊內存。