2016年9月21日 星期三

【Mac/Python3】基礎入門(7) - dict, set


dict:

全稱為 dictionary
在其他語言稱為 map, arraylist 等等
簡單來說就是使用了 key 和 value 來儲存
具有極快的查找速度
dict 是用 {}
>>> info = {‘Amy’:80, ‘Bob’:75, ‘Cathy’:100} 
>>> print(info[‘Bob’]) 
75
在這個例子中,Amy, Bob, Cathy 就是 key,而數字就是 value
>>> print(info[‘nightsnow’])
key 不在的情況下
它就會報錯顯示 KeyError: ‘nightsnow’

避免 key 不在的情況,我們可以使用 in 來判斷 key 存在與否
>>> print(’nightsnow’ in info) 
False
又或是使用 get(),沒有這個 key 的話會返回 None,又或是我們可以給他指定的 value
有這個 key 的話就會返回該 key 的 value
>>> print(info.get(‘nightsnow’) 
None 
>>> print(info.get(’nightsnow’,-1)) 
-1 
>>> print(info.get(‘Amy’)) 
80
要刪除 key,使用 pop(key)
>>> info.pop(‘Bob’) 
>>> print(info) 
{‘Amy’:80,’Cathy’:100}

*dict 的內部存文的順序跟 key 放入的順序是沒有關係的
*key 是不會重複的

和 list 比較,dict 有幾個特點
(1)查找發插入速度極快,不會隨著 key 的增加而變慢
(2)需要佔用大量內存
簡單來說,dict 是用空間來換取時間的一種方法


set:

dict 跟 set 類似,不同的是 set 只有 key 沒有 value
在 set 中,不會有重複的 key
使用 set() 就代表那是一個 set 了

*set 傳入的參數只能是 list
>>> s = set([1, 1, 2, 2, 3]) 
>>> print(s) 
{1, 2, 3}
通過 add(key) 可以添加元素到 set 中,可以重複添加,但不會有效果哦
>>> s.add(4) 
>>> print(s) 
{1, 2, 3, 4} 
>>> s.add(4) 
>>> print(s) 
{1, 2, 3, 4}
通過 remove(key) 來刪減元素
>>> s.remove(4) 
>>> print(s) 
{1, 2, 3}



沒有留言:

張貼留言