字典 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 的方式

results matching ""

    No results matching ""