首頁 >後端開發 >Python教學 >Python 字典:什麼時候應該使用「collections.defaultdict」?

Python 字典:什麼時候應該使用「collections.defaultdict」?

Patricia Arquette
Patricia Arquette原創
2024-12-02 04:39:10122瀏覽

Python Dictionaries: When Should You Use `collections.defaultdict`?

深入探討區別:Collections.defaultdict 與普通Dict

在Python 中,預設字典(collections.defaultdict) 不同於常規字典關重要的方式。標準字典在存取不存在的鍵時會引發 KeyError,而 defaultdict 會透過呼叫指定的函數自動建立遺失的項目。

理解範例

讓我們檢查提供的範例:

d = defaultdict(int)

這裡,int() 是預設函數,它使用整數值(預設為0)初始化缺失的鍵。

for k in s:
    d[k] += 1

此循環迭代字串 s 中的每個字元 (k) 並遞增其儲存在 defaultdict 中的對應計數。

d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])

結果,我們得到了一個包含字元頻率的字典。

在第二個例如:

d = defaultdict(list)

list() 是預設函數,建立空列表作為缺少鍵的預設值。

for k, v in s:
    d[k].append(v)

此循環將 list 中的鍵和值配對並附加值到對應鍵的清單。

d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

結果是一個字典,其中鍵是顏色,值是原始值中對應值的列表列表。

以上是Python 字典:什麼時候應該使用「collections.defaultdict」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn