Python內置字典,名爲 dict,在 Java 等其他語言中稱爲 map。它以 key-value 存值,具有極快的查找速度。
dict
示例如下:
對象名 = {Key:value,key:value,key:value}
若想取出指定 Key 對應的值,則有兩種方式:
第一種:
對象名[Key]
在 dict 中,多次放入一個 Key值,後面的 value值 會把前面的 value值 沖掉。
若 Key 值不存在的話,上述寫法會報錯。可以用下面這種方式先判斷當前 dict 中是否有需要的 Key 值:
'Key'in dict
第二種:
dict.get(Key)
若寫入的 Key 值爲在當前 dict 中不存在,則返回一個 None ,這在CPython中不顯示。或者新指定一個 value,但不在 dict 中存儲:
dict.get(Key,value)
若想刪除一個 key,寫法如下:
dict.pop(key)
刪除 key 時,對應的 value 也會被刪除。
和list比較,dict有以下幾個特點:
查找和插入的速度極快,不會隨着key的增加而變慢;需要佔用大量的內存,內存浪費多。
而list相反: 查找和插入的時間隨着元素的增加而增加; 佔用空間小,浪費內存很少。
可以這麼說,dict 是用空間來換取時間。使用的時候要注意,dict的 key 值是唯一的,且 key 值不可變。
set
set 和 dict 類似,也是一組 key 的集合,但不存儲 value 。
要創建一個 set ,需要提供一個 list 作爲輸入集合,寫法如下:
set(list)
使用下列方法可以在 set 中添加 key 值,可以重複添加同一個 key 值,但沒有效果:
set.add(key)
使用下列方法可以刪除指定 key 值:
set.remove(key)
set 可以看成數學上無序且無重複元素的集合,因此,它可以做數學上交集和並集的操作,示例如下:
以上述爲例子, s 和 s2 爲 set類型元素集合。單個的 & 連接在兩個集合間,表示 交集 ,交集是兩個集合中都包含的元素,如:2 和 3;單個的 | 連接在兩個集合間,表示 並集 ,並集是兩個集合中所有的元素,相同元素只顯示一個,不同元素都顯示。如:1 、2 、3 、4 。
總結一下:
list 集合,主要特徵爲 [ 1,2,3] ;
tuple集合,主要特徵爲 (1,2,3 );
dict集合,主要特徵爲 {'name' : banana , 'age' : 10 };
set集合,主要特徵爲 {1,2,3 }。
本篇結束,教材網址:https://www.liaoxuefeng.com, 繼續學習~~