字典 Dictionary
什麼是Dictionary呢 ?
Dictionary是由 Key, Value所組成的
dict = {"key": "value"}
print(type(dict)) # class<'dict'>
有一個key 對應著他的value
而在dict中 key 是不可能重複的,因為key在經過某種雜湊加密後,他們對應到的會是同一個記憶體區間
dict = {"k": "v", "k": "v1"}
print(dict) #{"k": "v1"}
# 這樣子宣告你永遠看不到v出現
# 因為key "k"只有一個 而value則會以最後一次指定的為主
一個簡單的例子教你馬上學會使用dict
如果s這個字串中出現a這個字我們就把它統計到dict上面並且計算它出現了幾次
dict = {"a": 0}
s = "aaabbbcccd"
for temp in s:
if temp == "a":
dict[temp] +=1
print(dict) # {'a': 3}
當然這個寫法是我先預設會有a的情況下先對dict 進行初始宣告
如果dict沒有那個key存在的話 那麼這個方法就會爆出錯誤
統計每種字在一個字串中出現了幾遍
dict = {}
s = "aaabbbcccd"
for temp in s:
if temp in dict:
dict[temp] +=1
else:
dict[temp] = 1
print(dict) # {'a': 3}
# {'a': 3, 'b': 3, 'c': 3, 'd': 1}
優化寫法
dict = {}
s = "aaabbbcccd"
for temp in s:
dict[temp] = dict.get(temp, 0)+1
print(dict)
#{'a': 3, 'b': 3, 'c': 3, 'd': 1}
我們透過 dictionary的get method可以透過傳進temp這個key 並設定如果key不存在的話就給予一個預設值0
若沒有key就會傳出預設值0 並且 +1 存回dict變數中
因此這個寫法等同上面的那串 if else 的方式