当前位置: 首页 » 产品 » 出口外贸 » 正文

python中defaultdict如何使用

放大字体  缩小字体 发布日期: 2025-03-20 17:09   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:22
核心提示:之前在使用字典的时候, 用的比较随意, 只是简单的使用dict.然而这样在使用不存在的key的时候发生KeyError这样的一个报错, 这时候

之前在使用字典的时候, 用的比较随意, 只是简单的使用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)

内容来源:https://www.16jixie.com/news/show-3405.html
 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
    行业协会  备案信息  可信网站