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

Defaultdict 與常規字典:什麼時候應該使用「defaultdict」?

Susan Sarandon
發布: 2024-12-03 18:30:12
原創
612 人瀏覽過

Defaultdict vs. Regular Dictionary: When Should You Use a `defaultdict`?

Defaultdict 與常規字典:了解區別

Python 內建的字典是儲存鍵值對的基本資料結構。然而,defaultdict 類型提供了一個獨特的功能,使其與常規詞典區分開來。

關鍵區別:抑制 KeyError 異常

當訪問一個不存在的鍵時常規字典,你會遇到 KeyError 異常。相比之下,defaultdicts 提供了一種透過自動為遺失的鍵建立預設條目來優雅地處理此類情況的方法。

建立預設項目

控制預設值的類型建立項目後,您指定一個「可呼叫」物件作為 defaultdict 建構子的參數。例如,Python 文件中的兩個範例:

  • 在第一個範例中,defaultdict 物件使用 int 作為可呼叫物件進行初始化,因此它會產生整數物件 (0) 作為預設項。
  • 在第二個範例中,defaultdict 物件使用list 作為可呼叫對象,導致預設為空列表items.

預設項目建立範例:

考慮以下程式碼片段:

import collections

# Create a defaultdict with initial values set to 0
s = 'mississippi'
d = collections.defaultdict(int)
for char in s:
    d[char] += 1
print(d)  # Output: {'m': 1, 'i': 4, 's': 4, 'p': 2}

# Create a defaultdict with initial values as empty lists
colors = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for color, count in colors:
    d[color].append(count)
print(d)  # Output: {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]}
登入後複製

透過了解defaultdict之間的差異和常規字典,您可以利用 defaultdict 的能力在 Python 中有效處理遺失的鍵應用程式。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板