国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中defaultdict的用法詳解

2019-11-25 16:07:13
字體:
來源:轉載
供稿:網(wǎng)友

初識defaultdict

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

如何使用defaultdict

可以這樣

from collections import defaultdictd1 = defaultdict(int)

或者這樣

import collectionsd1 = collections.defaultdict(int)

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

使用defaultdict任何未定義的key都會默認返回一個根據(jù)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的解釋如下:

defaultdicdict 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__, 返回一個根據(jù)default_factory參數(shù)的默認值, 所以不會返回Keyerror.

Example

Example 1

s = 'mississippi'd = defaultdict(int)for k in s:  d[k] += 1print(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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陆良县| 石嘴山市| 云林县| 纳雍县| 紫云| 甘泉县| 沂南县| 灵璧县| 临江市| 通化市| 珲春市| 红桥区| 新建县| 洛阳市| 台山市| 丽江市| 玉门市| 长寿区| 文山县| 大连市| 罗定市| 九江县| 高阳县| 达日县| 泗洪县| 景东| 巴林右旗| 勐海县| 喜德县| 扎囊县| 赤水市| 长泰县| 开化县| 集贤县| 岳西县| 东乡族自治县| 通河县| 湖口县| 江西省| 汕尾市| 锡林浩特市|