Python自學記錄——dict和set

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, 繼續學習~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章