python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度。
>>> d =
>>> d['lxd']
95
把資料放入dict的方法,除了初始化時指定外,還可以通過key放入:
>>> d['lwb'] = 67
>>> d['lwb']
67
由於乙個key只能對應乙個value,所以,多次對乙個key放入value,後面的值會把前面的值沖掉:
>>> d['gsq'] = 99
>>> d['gsq']
99>>> d['gsq'] = 100
>>> d['gsq']
100
要避免key不存在的錯誤,有兩種辦法,一是通過in判斷key是否存在:
>>>
'thomas'
in d
false
二是通過dict提供的get方法,如果key不存在,可以返回none,或者自己指定的value:
>>> d.get('thomas')
>>> d.get('thomas', -1)
-1
注意:返回none的時候python的互動式命令列不顯示結果。
刪除乙個key,用pop(key)方法,對應的value也會從dict中刪除:
>>> d.pop('lwb')
67>>> d
或者:
>>>
del d['nml']
>>> d
和list比較,dict有以下幾個特點:
1. 查詢和插入的速度極快,不會隨著key的增加而增加;
2. 需要占用大量的記憶體,記憶體浪費多。
而list相反:
1. 查詢和插入的時間隨著元素的增加而增加;
2. 占用空間小,浪費記憶體很少。
所以,dict是用空間來換取時間的一種方法。需要牢記的第一條就是dict的key必須是不可變物件。
set
set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
要建立乙個set,需要提供乙個list作為輸入集合:
>>> s = set([1,1,2,3])
>>> s
重複元素在set中自動被過濾,顯示的順序也不表示set是有序的。
add(key)方法可以新增元素到set中,可以重複新增,但不會有效果:
>>> s.add(4)
>>> s
>>> s.add(4)
>>> s
通過remove(key)方法可以刪除元素:
>>> s.remove(4)
>>> s
set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作:
>>> s1 = set([1,2,3])
>>> s2 = set([2,3,4])
>>> s1 & s2
>>> s1 | s2
>>> s1 ^ s2
Python3 字典dict 排序
首先說明一點 python的dict這個東西是沒辦法按照指定順序的key存的 一 按key排序 1,直接從dict輸出,只要保證輸出結果的順序是按key排序就可以了 2,按key儲存為其他一種資料格式 比如list,或者 collections.ordereddict 之後,進行輸出。這樣輸出的結果...
Python3基礎5 字典dict
字典 dict 符號 大括號 花括號 無序 1 可以存在空字典a 2 字典裡面資料儲存的方式 key value 3 字典裡面value可以包含任何型別的資料 4 字典裡面的元素 根據逗號來進行分隔 5 字典裡面的key必須是唯一的 a 字典取值 字典 key print a t age 20刪除 ...
python3基礎之字典
字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 鍵必須是唯一不可變的 數字 字串 元組 但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。乙個簡單的字典例項...