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

Python使用defaultdict解決字典默認(rèn)值

 更新時(shí)間:2023年04月07日 11:08:09   作者:水淹萌龍  
本文主要介紹了Python使用defaultdict解決字典默認(rèn)值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在Python中,defaultdict是一種特殊類型的字典,它可以自動(dòng)為字典中不存在的鍵設(shè)置默認(rèn)值。這種類型的字典是在collections模塊中定義的。它為我們提供了一個(gè)更方便,更容易使用的字典。在這篇文章中,我們將深入探討Python中的defaultdict,并探討如何使用它們。

1.導(dǎo)入defaultdict

我們需要先導(dǎo)入包含defaultdict的collections模塊??梢酝ㄟ^(guò)在Python代碼的頂部加入以下代碼行來(lái)實(shí)現(xiàn)這一點(diǎn):

from collections import defaultdict

2.創(chuàng)建defaultdict

創(chuàng)建defaultdict的方法在語(yǔ)法上與創(chuàng)建Python字典是相同的。我們只需要將defaultdict的類型作為構(gòu)造函數(shù)的參數(shù)。例如,如果我們要?jiǎng)?chuàng)建一個(gè)存儲(chǔ)整數(shù)的defaultdict,我們可以使用以下代碼:

int_dict = defaultdict(int)

如果我們要在defaultdict中存儲(chǔ)字符串,可以使用以下代碼:

str_dict = defaultdict(str)

在這兩種情況下,我們都通過(guò)向defaultdict構(gòu)造函數(shù)傳遞類型來(lái)定義了一個(gè)新的defaultdict實(shí)例。這個(gè)類型對(duì)于defaultdict的所有鍵都將設(shè)置為相應(yīng)的默認(rèn)值。

3.使用defaultdict

當(dāng)試圖訪問(wèn)defaultdict的鍵時(shí),如果該鍵不存在,則會(huì)自動(dòng)設(shè)置與傳遞給構(gòu)造函數(shù)的類型相應(yīng)的默認(rèn)值。例如,在下面的代碼中,我們使用defaultdict存儲(chǔ)一個(gè)人的年齡,并將默認(rèn)值設(shè)置為0:

age_dict = defaultdict(int)
age_dict['alice'] = 25
age_dict['bob'] = 30
age_dict['charlie']
print(age_dict)

輸出將是 {‘alice’: 25, ‘bob’: 30, ‘charlie’: 0} ,當(dāng) ‘charlie’ 還沒(méi)有在 default 字典中時(shí),自動(dòng)用默認(rèn)值 0 進(jìn)行填充。

在這個(gè)例子中,我們給默認(rèn)字典添加了兩個(gè)鍵, ‘alice’ 和 ‘bob’ ,并直接查詢了另一個(gè)鍵 ‘charlie’ ,這個(gè)鍵不在字典中。由于 ‘charlie’ 不存在于字典中,defaultdict自動(dòng)地將該鍵對(duì)應(yīng)的值設(shè)置為位于構(gòu)造函數(shù)中傳遞的相應(yīng)類型的默認(rèn)值(在這種情況下是整數(shù)0)。我們可以看到,這確實(shí)是我們預(yù)期的結(jié)果。

4.添加defaultdict默認(rèn)值

我們還可以通過(guò)為defaultdict函數(shù)提供一個(gè)函數(shù)作為默認(rèn)值來(lái)定義一個(gè)默認(rèn)值。這個(gè)函數(shù)將在字典中缺少某個(gè)鍵的情況下調(diào)用,并返回所需的默認(rèn)值。例如,我們可以使用以下代碼定義一個(gè)函數(shù),該函數(shù)以字典中的鍵作為其默認(rèn)值:

def return_key():
? ? return "unknown"

key_dict = defaultdict(return_key)
key_dict['apple'] = 'fruit'
print(key_dict['pear'])
print(key_dict['banana'])

輸出將是:

unknown
unknown

在這個(gè)例子中,我們定義了一個(gè)函數(shù) return_key() ,它簡(jiǎn)單地返回 “unknown” 。然后我們創(chuàng)建了一個(gè) default 字典,并使用這個(gè)函數(shù)作為默認(rèn)值來(lái)定義它。當(dāng)我們嘗試訪問(wèn) “pear” 和 “banana” 這兩個(gè)鍵時(shí),我們得到了 “unknown” 這個(gè)默認(rèn)值。但是,當(dāng)我們?cè)谧值渲刑砑恿随I “apple” 時(shí),我們得到了 “fruit”。

5.結(jié)論

就本節(jié)介紹Python中的defaultdict而言,這就是全部?jī)?nèi)容了。我們發(fā)現(xiàn)defaultdict很容易使用,而且在許多情況下都非常有用。defaultdict自動(dòng)在字典中缺少某個(gè)鍵時(shí)進(jìn)行設(shè)置默認(rèn)值,這特別適用于復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和嵌套字典。由于Python中的defaultdict是一個(gè)包含有用的功能的標(biāo)準(zhǔn)庫(kù),所以大多數(shù)Python程序員都對(duì)其有一定的了解,因此對(duì)其理解是很有必要的。

到此這篇關(guān)于Python使用defaultdict解決字典默認(rèn)值的文章就介紹到這了,更多相關(guān)Python defaultdict字典默認(rèn)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一小時(shí)學(xué)會(huì)TensorFlow2之基本操作1實(shí)例代碼

    一小時(shí)學(xué)會(huì)TensorFlow2之基本操作1實(shí)例代碼

    這篇文章主要介紹了TensorFlow2的基本操作第一節(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 最近Python有點(diǎn)火? 給你7個(gè)學(xué)習(xí)它的理由!

    最近Python有點(diǎn)火? 給你7個(gè)學(xué)習(xí)它的理由!

    最近Python有點(diǎn)火?這篇文章主要為大家分享了7個(gè)你現(xiàn)在就該學(xué)習(xí)Python的理由,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 懶人必備Python代碼之自動(dòng)發(fā)送郵件

    懶人必備Python代碼之自動(dòng)發(fā)送郵件

    在傳統(tǒng)的工作中,發(fā)送會(huì)議紀(jì)要是一個(gè)比較繁瑣的任務(wù),需要手動(dòng)輸入郵件內(nèi)容、收件人、抄送人等信息,每次發(fā)送都需要重復(fù)操作,不僅費(fèi)時(shí)費(fèi)力,而且容易出現(xiàn)疏漏和錯(cuò)誤。本文就來(lái)用Python代碼實(shí)現(xiàn)這一功能吧
    2023-05-05
  • Python如何獲取Win7,Win10系統(tǒng)縮放大小

    Python如何獲取Win7,Win10系統(tǒng)縮放大小

    這篇文章主要介紹了Python如何獲取Win7,Win10系統(tǒng)縮放大小,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python3.7+tkinter實(shí)現(xiàn)查詢界面功能

    Python3.7+tkinter實(shí)現(xiàn)查詢界面功能

    這篇文章主要介紹了Python3.7+tkinter實(shí)現(xiàn)查詢界面功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能

    python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能

    這篇文章主要介紹了python3 破解 geetest(極驗(yàn))的滑塊驗(yàn)證碼功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 為了順利買到演唱會(huì)的票用Python制作了自動(dòng)搶票的腳本

    為了順利買到演唱會(huì)的票用Python制作了自動(dòng)搶票的腳本

    大麥網(wǎng),是中國(guó)綜合類現(xiàn)場(chǎng)娛樂(lè)票務(wù)營(yíng)銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂(lè)劇、體育賽事等領(lǐng)域。但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票,那么,今天帶大家用Python來(lái)制作一個(gè)自動(dòng)搶票的腳本小程序
    2021-10-10
  • Python六大開(kāi)源框架對(duì)比

    Python六大開(kāi)源框架對(duì)比

    在這篇文章里,我們將為Python Web開(kāi)發(fā)者回顧基于Python的6大Web應(yīng)用框架。無(wú)論你是出于愛(ài)好還是需求,這六大框架都可能會(huì)成為你工作上不錯(cuò)的得力助手。
    2015-10-10
  • python飛機(jī)大戰(zhàn)pygame游戲之?dāng)硻C(jī)出場(chǎng)實(shí)現(xiàn)方法詳解

    python飛機(jī)大戰(zhàn)pygame游戲之?dāng)硻C(jī)出場(chǎng)實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame游戲之?dāng)硻C(jī)出場(chǎng)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python使用pygame模塊實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲中敵機(jī)出場(chǎng)相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • 用表格幫你了解Python數(shù)據(jù)類型

    用表格幫你了解Python數(shù)據(jù)類型

    這篇文章主要為大家介紹了Python數(shù)據(jù)類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2022-01-01

最新評(píng)論