• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python标准库defaultdict模块使用示例

Python标准库defaultdict模块使用示例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python defaultdict,python中defaultdict,defaultdict,defaultdict list,defaultdict int等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Python标准库中collections对集合类型的数据结构进行了很多拓展操作,这些操作在我们使用集合的时候会带来很多的便利,多看看很有好处。
defaultdict是其中一个方法,就是给字典value元素添加默认类型,之前看到过但是没注意怎么使用,今天特地瞅了瞅。

首先是各大文章介绍的第一个例子:
import collections as coll 
 
def default_factory(): 
    return 'default value' 
 
d = coll.defaultdict(default_factory, foo='bar') 
print 'd:',d 
print 'foo=>', d['foo'] 
print 'foo=>', d['bar']   #key为'bar'的元素不存在,会有一个默认值 
</div>
输出结果是这样的:
d: defaultdict(<function default_factory at 0x022E6E70>, {'foo': 'bar'}) 
foo=> bar 
foo=> default value 
</div>
结论:这里可以看到,当我们取字典中一个没有的key的时候就会自动根据 default_factory生成一个value,类似于 d.get('bar','default value')

一个对比的例子:
如果一个字典中有个map的value是一个set,往这个set连续添加两个元素,使用原始的dict是这样的
dict_set1 = {} 
#如果不知道这个字段中key有没有,需要先判断 
if 'key' not in dict_set1: 
    dict_set1['key'] = set() 
dict_set1['key'].add('111') 
dict_set1['key'].add('000') 
print dict_set1 
</div>
如果使用defaultdict就是这样的
dict_set = coll.defaultdict(set) 
dict_set['key'].add('000') 
dict_set['key'].add('111') 
print dict_set
</div>

好处就是不需要做set的初始化这个判断了。

两个使用的小案例
ss = '1111222233334444' 
dict_int = coll.defaultdict(int) 
for s in ss: 
    dict_int[s] += 1 
print dict_int 
 
'''''
官方文档的这个例子就能看到这种写法的简洁了
https://docs.python.org/2/library/collections.html#collections.defaultdict
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
''' 
</div>
当我们做这种带有统计性质的数据操作时候,这个对象很好用。

</div>

您可能想查找下面的文章:

  • 简介Python的collections模块中defaultdict类型的用法
  • 简介Python的collections模块中defaultdict类型的用法
  • Python标准库defaultdict模块使用示例

相关文章

  • python实现基于两张图片生成圆角图标效果的方法
  • Python 使用os.remove删除文件夹时报错的解决方法
  • 30分钟搭建Python的Flask框架并在上面编写第一个应用
  • python使用PyGame绘制图像并保存为图片文件的方法
  • Python的collections模块中的OrderedDict有序字典
  • 基于python实现微信模板消息
  • Python判断变量是否已经定义的方法
  • 在Python中处理日期和时间的基本知识点整理汇总
  • 编写Python脚本把sqlAlchemy对象转换成dict的教程
  • 浅谈插入排序算法在Python程序中的实现及简单改进

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python实现网站的模拟登录
    • python开发的小球完全弹性碰撞游戏代码
    • Python单例模式实例详解
    • Python中用memcached来减少数据库查询次数的教程
    • python Selenium爬取内容并存储至MySQL数据库的实现代码
    • 使用Python装饰器在Django框架下去除冗余代码的教程
    • Python网络爬虫实例讲解
    • python修改操作系统时间的方法
    • python中getaddrinfo()基本用法实例分析
    • 整理Python最基本的操作字典的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有