***Dict
Python內(nèi)置了dict類型,以key-value存儲,是一個hashable 可哈希的數(shù)據(jù)類型
Initialize:
dictExample = {}
dictExample = {key1: val1, key2: val2, ...}
查找值時使用key绞吁,dictExample[key1] # get val1
如果輸入的key在dict內(nèi)部不存在時會報錯澈魄,有兩種解決辦法
一:in判斷語句
? ? ?key in dict ?# return boolean value True/False
二: dict的get method
? ? ? dict.get(key) ?# if key doesn't exist in dict, return none
? ? ? dict.get(key, replace-val) # if key doesn't exist in dict, return replace-val
Attention dict內(nèi)部存放的順序和key放入的順序是沒有關(guān)系的(由于是哈希的方式)。
和list比較窟她,dict有以下幾個特點:
? ? ?查找和插入的速度極快,不會隨著key的增加而增加;
? ? ?需要占用大量的內(nèi)存幅聘,內(nèi)存浪費多。
而list相反:
? ? ?查找和插入的時間隨著元素的增加而增加惰爬;
? ? ?占用空間小喊暖,浪費內(nèi)存很少。
所以撕瞧,dict是用空間來換取時間的一種方法陵叽。
dict的增加數(shù)據(jù)的方法
dict[new-key] = value
dict的刪除也使用pop(key)方法
***Set
set和dict類似,也是key的集合丛版,但是不存儲value巩掺,內(nèi)部的key不會重復,很想數(shù)學中的“集合”概念
使用add(key)和remove(key)方法來添加刪除元素
Attention:傳入list是页畦,list內(nèi)部的變量也會被set化
注意str是不可變對象胖替,str.replace(char, newchar)實質(zhì)是把一個新的字符串賦給當前變量