久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

python中defaultdict如何使用

來源:技術員聯盟┆發布時間:2017-07-22 18:00┆點擊:

之前在使用字典的時候, 用的比較隨意, 只是簡單的使用dict.
然而這樣在使用不存在的key的時候發生KeyError這樣的一個報錯, 這時候就該defaultdict登場了.

如何使用defaultdict

可以這樣

from collections import defaultdict d1 = defaultdict(int)

或者這樣

import collections d1 = collections.defaultdict(int)

defaultdict與dict實例化字典類型的區別

使用defaultdict任何未定義的key都會默認返回一個根據method_factory參數不同的默認值, 而相同情況下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 接收一個工廠函數作為參數, 例如int str list set等.
defaultdict在dict的基礎上添加了一個missing(key)方法, 在調用一個不存的key的時候, defaultdict會調用__missing__, 返回一個根據default_factory參數的默認值, 所以不會返回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)