python?中defaultdict()對字典進行初始化的用法介紹
更新時間:2022年07月05日 09:09:37 作者:m0_46483236
這篇文章主要介紹了python?中defaultdict()對字典進行初始化,一般情況下,在使用字典時,先定義一個空字典(如dict_a?=?{}),然后往字典中添加元素只需要?dict_a[key]?=?value即可,本文通過實例代碼介紹具體用法,需要的朋友可以參考下
用法講解:
- 一般情況下,在使用字典時,先定義一個空字典(如dict_a = {}),然后往字典中添加元素只需要 dict_a[key] = value即可。讀取字典中的元素時同理,但前提時字典中存在這個key,否則就會報錯。
- 而defaultdict()的作用在于,即使字典中的key不存在,在查找時也會對它的value賦予一個默認值,從而避免了報錯。
- 具體來說,defaultdict接受一個工廠函數作為參數,如下來構造:
dict =defaultdict(factory_function)
- 這個factory_function可以是list、set、str等等,作用是當key不存在時,返回的是工廠函數的默認值,比如list對應[ ],str對應的是空字符串,set對應set( ),int對應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]=[
應用舉例: 題目描述:

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
到此這篇關于python 中defaultdict()對字典進行初始化的文章就介紹到這了,更多相關python defaultdict()初始化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python飛機大戰(zhàn)pygame碰撞檢測實現方法分析
這篇文章主要介紹了python飛機大戰(zhàn)pygame碰撞檢測實現方法,結合實例形式分析了Python使用pygame實現飛機大戰(zhàn)游戲中碰撞檢測的原理與相關操作技巧,需要的朋友可以參考下2019-12-12
基于python,Matplotlib繪制函數的等高線與三維圖像
這篇文章主要介紹了基于python,Matplotlib繪制函數的等高線與三維圖像,函數的等高線及其三維圖像的可視化方法,下面一起來學習具體內容吧,需要的小伙伴可以參考一下2022-01-01
python pycurl驗證basic和digest認證的方法
這篇文章主要介紹了python pycurl驗證basic和digest認證的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05

