python中defaultdict的用法詳解
初識defaultdict
之前在使用字典的時候, 用的比較隨意, 只是簡單的使用dict.
然而這樣在使用不存在的key的時候發(fā)生KeyError這樣的一個報錯, 這時候就該defaultdict登場了.
如何使用defaultdict
可以這樣
from collections import defaultdict d1 = defaultdict(int)
或者這樣
import collections d1 = collections.defaultdict(int)
defaultdict與dict實例化字典類型的區(qū)別
使用defaultdict任何未定義的key都會默認返回一個根據method_factory參數(shù)不同的默認值, 而相同情況下dict()會返回KeyError.
比較下面代碼:
d1 = dict() d2 = defaultdict(list) print(d1['a']) print(d2['a'])
defaultdict的構造
python官方文檔中對defaultdict的定義如下:
class collections.defaultdict([default_factory[, ...]])
python官方文檔中對defaultdict的解釋如下:
defaultdic dict subclass that calls a factory function to supply missing values
default_factory 接收一個工廠函數(shù)作為參數(shù), 例如int str list set等.
defaultdict在dict的基礎上添加了一個missing(key)方法, 在調用一個不存的key的時候, defaultdict會調用__missing__, 返回一個根據default_factory參數(shù)的默認值, 所以不會返回Keyerror.
Example
Example 1
s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1 print(d)
Example 2
s = [('red', 1), ('blue', 2), ('red', 3), ('blue', 4), ('red', 1), ('blue', 4)] d = defaultdict(set) for k, v in s: d[k].add(v) print(d)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python 實現(xiàn)引用其他.py文件中的類和類的方法
下面小編就為大家分享一篇Python 實現(xiàn)引用其他.py文件中的類和類的方法,具有的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04pandas讀取csv格式數(shù)據時header參數(shù)設置方法
本文主要介紹了pandas讀取csv格式數(shù)據時header參數(shù)設置方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02關于python3的ThreadPoolExecutor線程池大小設置
這篇文章主要介紹了關于python3的ThreadPoolExecutor線程池大小設置,線程池的理想大小取決于被提交任務的類型以及所部署系統(tǒng)的特性,需要的朋友可以參考下2023-04-04anaconda創(chuàng)建、查看、激活與刪除虛擬環(huán)境指令總結
在跑項目時常常會安裝很多的包,也通常會遇到需要安裝指定版本的包,以及包與包不兼容的問題,下面這篇文章主要給大家介紹了關于anaconda創(chuàng)建、查看、激活與刪除虛擬環(huán)境指令的相關資料,需要的朋友可以參考下2022-11-11