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

python中defaultdict的用法詳解

 更新時間:2017年06月07日 09:44:29   作者:天堂十八樓  
這篇文章主要為大家詳細介紹了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都會默認返回一個根據(jù)method_factory參數(shù)不同的默認值, 而相同情況下dict()會返回KeyError.
比較下面代碼:

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

defaultdict的構(gòu)造

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)方法, 在調(diào)用一個不存的key的時候, defaultdict會調(diào)用__missing__, 返回一個根據(jù)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)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python Pygame實戰(zhàn)之賽車游戲的實現(xiàn)

    Python Pygame實戰(zhàn)之賽車游戲的實現(xiàn)

    如今的游戲可謂是層出不窮,不過小編發(fā)現(xiàn),賽車游戲也是深受大家歡迎啊,像跑跑卡丁車、QQ飛車,還有主機游戲極品飛車系列。本文將用Python中的Pygame模塊制作一個簡單的賽車游戲,感興趣的可以了解一下
    2022-03-03
  • 關(guān)于Python dict存中文字符dumps()的問題

    關(guān)于Python dict存中文字符dumps()的問題

    這篇文章主要介紹了關(guān)于Python dict存中文字符dumps()的問題,本文給大家分享問題及解決方案,給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python2.x利用commands模塊執(zhí)行Linux shell命令

    Python2.x利用commands模塊執(zhí)行Linux shell命令

    這篇文章主要介紹了Python2.x利用commands模塊執(zhí)行Linux shell命令 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • pandas 時間偏移的實現(xiàn)

    pandas 時間偏移的實現(xiàn)

    時間偏移就是在指定時間往前推或者往后推一段時間,即加減一段時間之后的時間,本文使用Python實現(xiàn),感興趣的可以了解一下
    2021-08-08
  • 如何使用Python編寫測試腳本

    如何使用Python編寫測試腳本

    這篇文章主要為大家詳細介紹了Python如何通過PyCAN和CANard庫實現(xiàn)編寫測試腳本,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-02-02
  • 使用django-guardian實現(xiàn)django-admin的行級權(quán)限控制的方法

    使用django-guardian實現(xiàn)django-admin的行級權(quán)限控制的方法

    這篇文章主要介紹了使用django-guardian實現(xiàn)django-admin的行級權(quán)限控制的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Python解析微信dat文件的方法

    Python解析微信dat文件的方法

    這篇文章主要介紹了Python解析微信dat文件的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python開發(fā)編碼規(guī)范

    Python開發(fā)編碼規(guī)范

    Python開發(fā)編碼規(guī)范...
    2006-09-09
  • 利用Python?爬取股票實時數(shù)據(jù)詳情

    利用Python?爬取股票實時數(shù)據(jù)詳情

    這篇文章主要介紹了利用Python?爬取股票實時數(shù)據(jù)詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • 用python實現(xiàn)一幅春聯(lián)實例代碼

    用python實現(xiàn)一幅春聯(lián)實例代碼

    大家好,本篇文章主要講的是用python實現(xiàn)一幅春聯(lián)實例代碼,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論