python?中defaultdict()對字典進(jìn)行初始化的用法介紹
用法講解:
- 一般情況下,在使用字典時,先定義一個空字典(如dict_a = {}),然后往字典中添加元素只需要 dict_a[key] = value即可。讀取字典中的元素時同理,但前提時字典中存在這個key,否則就會報(bào)錯。
- 而defaultdict()的作用在于,即使字典中的key不存在,在查找時也會對它的value賦予一個默認(rèn)值,從而避免了報(bào)錯。
- 具體來說,defaultdict接受一個工廠函數(shù)作為參數(shù),如下來構(gòu)造:
dict =defaultdict(factory_function)
- 這個factory_function可以是list、set、str等等,作用是當(dāng)key不存在時,返回的是工廠函數(shù)的默認(rèn)值,比如list對應(yīng)[ ],str對應(yīng)的是空字符串,set對應(yīng)set( ),int對應(yīng)0。
from collections import defaultdict dict1 = defaultdict(int) # dict1[1]=0 dict2 = defaultdict(set) # dict2[1]=set() dict3 = defaultdict(str) # dict3[1]= dict4 = defaultdict(list) # dict4[1]=[
應(yīng)用舉例: 題目描述:

1. 不使用defaultdict():
def isAnagram(s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
dict_s = {}
for item in s:
if item not in dict_s.keys():
dict_s[item] = 1
else:
dict_s[item] += 1
dict_t = {}
for item in t:
if item not in dict_t.keys():
dict_t[item] = 1
else:
dict_t[item] += 1
return dict_s == dict_t2. 使用defaultdict():
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
from collections import defaultdict
dict_s = defaultdict(int)
dict_t = defaultdict(int)
for item in s:
dict_s[item] += 1
for item in t:
dict_t[item] += 1
return dict_s == dict_t參考:https://www.jianshu.com/p/bbd258f99fd3
到此這篇關(guān)于python 中defaultdict()對字典進(jìn)行初始化的文章就介紹到這了,更多相關(guān)python defaultdict()初始化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Windows上安裝和配置 Jupyter Lab 作為桌面級應(yīng)用程序教程
這篇文章主要介紹了在Windows上安裝和配置 Jupyter Lab 作為桌面級應(yīng)用程序教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python zip函數(shù)打包元素實(shí)例解析
這篇文章主要介紹了Python zip函數(shù)打包元素實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Django切換數(shù)據(jù)庫和遷移數(shù)據(jù)詳解
這篇文章主要介紹了Django切換數(shù)據(jù)庫和遷移數(shù)據(jù)詳解的相關(guān)資料,需要的朋友可以參考下2022-11-11
深入解析PYTHON?虛擬機(jī)令人拍案叫絕的字節(jié)碼設(shè)計(jì)
這篇文章主要為大家介紹了PYTHON虛擬機(jī)中令人拍案叫絕的字節(jié)碼設(shè)計(jì)深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式
這篇文章主要介紹了Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
基于Python實(shí)現(xiàn)nc批量轉(zhuǎn)tif格式
做項(xiàng)目有時會運(yùn)用到netCDF格式的氣象數(shù)據(jù),而ArcGIS中需要用柵格影像進(jìn)行處理,對于較多的文件,ArcGIS一個個手動轉(zhuǎn)換過于繁瑣,因此我們采用Python進(jìn)行轉(zhuǎn)換,下面就是Python實(shí)現(xiàn)nc批量轉(zhuǎn)tif格式的示例代碼,希望對你有所幫助2022-08-08

