dict字典
--------------以下部分摘自While老師的教學資料
字典:
字典一個元素呈鍵值對的形式,以逗號分割,以大括號包圍的無序的,可以修改的序列。
字典是python基礎數據類型當中唯一一個映射關系的數據類型通常對應JSON
定義:
Zip函數:將幾個序列對應索引位上的元素分到一個元組當中,形成一個列表,子元組的個數取決於最短序列的長度
由於字典無序,所以我們定義字典和字典生成之後的元素的順序是不同的
dict
{}
Fromkeys 以後面的序列的元素為鍵,默認值為None的字典
字典的特點:
因為字典是無序的,所以字典沒有索引值,
因為字典沒有索引值,所以字典以鍵取值,(字典的鍵相當於列表的索引
因為字典以鍵取值,所以字典的鍵唯一且不可修改,
因為字典的鍵不可修改,所以列表和字典不可以給字典做鍵。
字典的方法
字典的取值 |
keys |
獲取字典所有的鍵 |
values |
獲取字典所有的值 |
|
get |
以鍵取值,如果指定鍵不存在,默認返回None,可以指定返回內容 |
|
update |
更新指定鍵的內容,如果鍵不存在,創建 |
|
setdefault |
設置默認,如果鍵存在,返回值,如果鍵不存在,創造鍵,值默認為None,值也可以自定義 |
|
items |
返回字典鍵值呈元組形式的格式 |
字典的刪除 |
pop |
彈出,返回並刪除指定鍵對應的值 |
popitem |
隨機彈出一個鍵值元組,這裏隨機的原因是因為字典無序 |
|
clear |
清空字典 |
|
字典的判斷 |
has_key |
判斷指定的鍵是否在字典當中,即將被廢除,之後我們用in |
視圖模式 |
viewitems |
視圖模式的主要特征是與字典保持同步,在我們python基礎部分不做深入研究 |
viewkeys |
||
viewvalues |
||
叠代模式 |
Iteritems |
在python2.4版本之後,為了提高python運行效率python提出了叠代器、生成器、裝飾器的定義,而字典的叠代模式正式去用了叠代器原理, 當我們直接調用的時候,我們只能得到一個內存地址,當我們具體想要取值的時候,需要借助next方法 |
Iterkeys |
||
itervalues |
copy 淺拷貝,進行淺拷貝
在python當中,淺拷貝指的是拷貝對象和被拷貝對象的嵌套部分指向統一的內存。
|
str |
list |
tuple |
dict |
是否有序 |
是 |
是 |
是 |
否 |
是否可修改 |
不 |
可 |
不 |
可 |
方法多少 |
很多 |
一般 |
很少 |
較多 映射關系 |
dict字典