欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中defaultdict的用法詳解

 更新時(shí)間:2017年06月07日 09:44:29   作者:天堂十八樓  
這篇文章主要為大家詳細(xì)介紹了python中defaultdict的用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

初識(shí)defaultdict

之前在使用字典的時(shí)候, 用的比較隨意, 只是簡(jiǎn)單的使用dict.
然而這樣在使用不存在的key的時(shí)候發(fā)生KeyError這樣的一個(gè)報(bào)錯(cuò), 這時(shí)候就該defaultdict登場(chǎng)了.

如何使用defaultdict

可以這樣

from collections import defaultdict
d1 = defaultdict(int)

或者這樣

import collections
d1 = collections.defaultdict(int)

defaultdict與dict實(shí)例化字典類型的區(qū)別

使用defaultdict任何未定義的key都會(huì)默認(rèn)返回一個(gè)根據(jù)method_factory參數(shù)不同的默認(rèn)值, 而相同情況下dict()會(huì)返回KeyError.
比較下面代碼:

d1 = dict()
d2 = defaultdict(list)
print(d1['a'])
print(d2['a'])

defaultdict的構(gòu)造

python官方文檔中對(duì)defaultdict的定義如下:

class collections.defaultdict([default_factory[, ...]])

python官方文檔中對(duì)defaultdict的解釋如下:

defaultdic
dict subclass that calls a factory function to supply missing values

default_factory 接收一個(gè)工廠函數(shù)作為參數(shù), 例如int str list set等.
defaultdict在dict的基礎(chǔ)上添加了一個(gè)missing(key)方法, 在調(diào)用一個(gè)不存的key的時(shí)候, defaultdict會(huì)調(diào)用__missing__, 返回一個(gè)根據(jù)default_factory參數(shù)的默認(rèn)值, 所以不會(huì)返回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)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論