首頁 > 後端開發 > Python教學 > Python 中的「defaultdict」與常規「dict」:什麼時候該使用哪一個?

Python 中的「defaultdict」與常規「dict」:什麼時候該使用哪一個?

DDD
發布: 2024-12-07 16:36:12
原創
694 人瀏覽過

`defaultdict` vs. Regular `dict` in Python: When Should You Use Which?

Collections.defaultdict 與常規Dict:了解差異

與會因缺少獨特鍵而引發一個獨特鍵而引發一個獨特的字典Python 字典不同,defaultdict 提供一個獨特鍵而引發一個獨特鍵的轉折。它自動使用預設值初始化不存在的鍵,預設值由使用者定義的「可呼叫」物件決定。為了完全掌握它的功能,讓我們深入研究它的語法和機制。

在問題提供的第一個範例中:

>>> from collections import defaultdict

>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
...     d[k] += 1
...
>>> d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
登入後複製

我們使用 defaultdict 並指定 int 作為可呼叫物件。當我們迭代字串 s 時,defaultdict 透過呼叫 int() 自動建立缺少的鍵。此函數傳回一個初始化為 0 的整數物件。因此,s 中的每個字母都成為結果字典 d 中的鍵,它們對應的值是它們出現的頻率。

在第二個範例中:

>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
登入後複製

我們再次使用 defaultdict 並將 list 作為可呼叫物件傳遞。這次,使用 list() 初始化不存在的鍵。當我們迭代元組列表時,defaultdict 確保每個唯一的顏色都表示為鍵。對應的值是儲存每種顏色出現頻率的清單。

透過使用defaultdict,我們可以方便地操作缺少鍵的字典,避免潛在的 KeyError 異常並簡化我們的程式碼。

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

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