欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基礎(chǔ)語法中defaultdict的使用小結(jié)

 更新時間:2025年04月11日 11:15:10   作者:大神神奇奇奇  
Python的defaultdict是collections模塊中提供的一種特殊的字典類型,它與普通的字典(dict)有著相似的功能,本文主要介紹了Python基礎(chǔ)語法中defaultdict的使用小結(jié),感興趣的可以了解一下

Python的defaultdict是collections模塊中提供的一種特殊的字典類型,它與普通的字典(dict)有著相似的功能,但有一個關(guān)鍵的不同點:當(dāng)訪問一個不存在的鍵時,defaultdict不會拋出KeyError異常,而是會自動為該鍵創(chuàng)建一個默認(rèn)值。這種特性使得在處理需要初始化新鍵的情況時更加方便。

創(chuàng)建defaultdict要使用defaultdict,首先需要從collections模塊導(dǎo)入它:

from collections import defaultdict

然后可以創(chuàng)建一個defaultdict實例,傳入一個可調(diào)用對象作為default_factory參數(shù)。
這個可調(diào)用對象決定了當(dāng)訪問不存在的鍵時應(yīng)該返回的默認(rèn)值類型。
例如:

  • 使用int作為default_factory將返回整數(shù)0
  • 使用list作為default_factory將返回空列表[]。
  • 使用set作為default_factory將返回空集合set()。
  • 使用自定義函數(shù)作為default_factory將根據(jù)該函數(shù)的返回值來確定默認(rèn)值。

示例1

from collections import defaultdict

bag = ['apple', 'orange', 'cherry', 'apple','apple', 'cherry', 'blueberry']
count = defaultdict(int)  # 使用int作為default_factory
print(f"\n > > > > > > count:\n {count}")
print(f"\n > > > > > > type(count):\n {type(count)}")

for fruit in bag:
    count[fruit] += 1
print(f"\n > > > > > > count:\n {count}")

輸出:

 > > > > > > count:
 defaultdict(<class 'int'>, {})

 > > > > > > type(count):
 <class 'collections.defaultdict'>

 > > > > > > count:
 defaultdict(<class 'int'>, {'apple': 3, 'orange': 1, 'cherry': 2, 'blueberry': 1})

在這個例子中,對一個不存在的鍵進(jìn)行操作時,defaultdict會自動為該鍵分配一個默認(rèn)值0,并允許直接對其進(jìn)行遞增操作。

示例2

from collections import defaultdict

names = [('group1', 'Alice'), ('group2', 'Bob'), ('group1', 'Charlie')]
grouped_names = defaultdict(list)
print(f"\n > > > > > > grouped_names:\n {grouped_names}")
print(f"\n > > > > > > type(grouped_names):\n {type(grouped_names)}")

for group, name in names:
    grouped_names[group].append(name)

print(f"\n > > > > > > grouped_names:\n {grouped_names}")

輸出:

 > > > > > > grouped_names:
 defaultdict(<class 'list'>, {})

 > > > > > > type(grouped_names):
 <class 'collections.defaultdict'>

 > > > > > > grouped_names:
 defaultdict(<class 'list'>, {'group1': ['Alice', 'Charlie'], 'group2': ['Bob']})

在這個例子中,根據(jù)第一個元素對名字進(jìn)行了分組。如果使用普通字典,則需要額外的邏輯來檢查和初始化每個新組。

到此這篇關(guān)于Python基礎(chǔ)語法中defaultdict的使用小結(jié)的文章就介紹到這了,更多相關(guān)Python defaultdict內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python exe文件解包方法總結(jié)

    python exe文件解包方法總結(jié)

    這篇文章總結(jié)了如何從Python EXE文件中提取和反編譯Python腳本(.pyc文件)的過程,包括使用pyinstxtractor.py或archive_viewer.py進(jìn)行解包,感興趣的小伙伴跟著小編一起來看看吧
    2025-03-03
  • 使用python爬取微博數(shù)據(jù)打造一顆“心”

    使用python爬取微博數(shù)據(jù)打造一顆“心”

    這篇文章主要介紹了使用python基于微博數(shù)據(jù)打造一顆“心”,作為程序員,我準(zhǔn)備了一份特別的禮物,用以往發(fā)的微博數(shù)據(jù)打造一顆“愛心”,我想她一定會感動得哭了吧,需要的朋友可以參考下
    2019-06-06
  • 用Python登錄Gmail并發(fā)送Gmail郵件的教程

    用Python登錄Gmail并發(fā)送Gmail郵件的教程

    這篇文章主要介紹了用Python登錄Gmail并發(fā)送Gmail郵件的教程,利用了Python的SMTP庫,代碼非常簡單,需要的朋友可以參考下
    2015-04-04
  • Python CSV 文件解析和生成方法示例

    Python CSV 文件解析和生成方法示例

    這篇文章主要為大家介紹了Python CSV 文件的解析和生成方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件

    使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件

    這篇文章主要介紹了使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 用Python的urllib庫提交WEB表單

    用Python的urllib庫提交WEB表單

    上次實現(xiàn)的校園網(wǎng)IP網(wǎng)關(guān)登錄器其中一個關(guān)鍵部分就是提交登錄網(wǎng)頁的表單,下面是我的Python實現(xiàn)代碼
    2009-02-02
  • mac下pycharm設(shè)置python版本的圖文教程

    mac下pycharm設(shè)置python版本的圖文教程

    今天小編就為大家分享一篇mac下pycharm設(shè)置python版本的圖文教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 詳解Python開發(fā)語言中的基本數(shù)據(jù)類型

    詳解Python開發(fā)語言中的基本數(shù)據(jù)類型

    數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型。本文主要和大家聊聊Python的三種基本數(shù)據(jù)類型,感興趣的可以了解一下
    2022-10-10
  • Python 安裝setuptools和pip工具操作方法(必看)

    Python 安裝setuptools和pip工具操作方法(必看)

    下面小編就為大家?guī)硪黄狿ython 安裝setuptools和pip工具操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python?Collections庫的高級功能使用示例詳解

    Python?Collections庫的高級功能使用示例詳解

    Python的collections庫提供了一系列有用的數(shù)據(jù)類型,擴(kuò)展了內(nèi)建的數(shù)據(jù)類型,為開發(fā)者提供了更多高級功能,本文將深入探討collections庫的一些高級功能,通過詳細(xì)的示例代碼演示,幫助大家更好地理解和應(yīng)用這些功能
    2023-12-12

最新評論