python 中defaultdict()對字典進行初始化的用法介紹
用法講解:
- 一般情況下,在使用字典時,先定義一個空字典(如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_t
2. 使用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()初始化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python中defaultdict字典功能特性介紹
- python中defaultdict字典功能特性解析
- 詳解Python 中的 defaultdict 數據類型
- python–字典(dict)和集合(set)詳解
- 解決Python字典查找報Keyerror的問題