激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python中defaultdict的用法詳解

python中defaultdict的用法詳解

2020-11-15 22:33天堂十八樓 Python

這篇文章主要為大家詳細介紹了python中defaultdict的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

初識defaultdict

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

如何使用defaultdict

可以這樣

?
1
2
from collections import defaultdict
d1 = defaultdict(int)

或者這樣

?
1
2
import collections
d1 = collections.defaultdict(int)

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

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

?
1
2
3
4
d1 = dict()
d2 = defaultdict(list)
print(d1['a'])
print(d2['a'])

defaultdict的構造

python官方文檔中對defaultdict的定義如下:

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

python官方文檔中對defaultdict的解釋如下:

?
1
2
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

?
1
2
3
4
5
s = 'mississippi'
d = defaultdict(int)
for k in s:
  d[k] += 1
print(d)

Example 2

?
1
2
3
4
5
6
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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久69精品久久久久久国产越南 | 国产精品久久久久久一区二区三区 | 国产精品视频一区二区噜噜 | 久久久日韩精品一区二区 | 二区三区偷拍浴室洗澡视频 | 一区二区三区四区视频在线观看 | 日本在线看 | 欧美 日韩 国产 成人 | 国产精品一区99 | 亚洲成人精品区 | 国产一区二区三区在线观看视频 | 狠狠干夜夜草 | 久久生活片 | 最新中文字幕在线 | 爱射av| 精品一区二区6 | 成人福利在线免费观看 | 色人久久 | 欧美综合日韩 | 欧美成人性生活片 | 久久网站免费 | 成人免费毛片在线观看 | 欧美在线观看视频一区 | 一级大黄毛片 | 欧美爱爱视频网站 | 久久久久一本一区二区青青蜜月 | 视频一区二区中文字幕 | 欧美一级特黄aaaaaaa什 | 49vvv| 一级一片免费 | 国产91九色视频 | 中文字幕在线成人 | 欧美精品一区二区三区四区 | 草操影院 | 干少妇av| 中文字幕亚洲一区二区三区 | 在线观看网址av | 亚洲影院在线 | 成人在线第一页 | 91伊人久久| 黄色男女视频 |