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

简介Python的collections模块中defaultdict类型的用法

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

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

defaultdict 主要用来需要对 value 做初始化的情形。对于字典来说,key 必须是 hashable,immutable,unique 的数据,而 value 可以是任意的数据类型。如果 value 是 list,dict 等数据类型,在使用之前必须初始化为空,有些情况需要把 value 初始化为特殊值,比如 0 或者 ‘‘。

from collections import defaultdict

person_by_age = defaultdict(list)
for person in persons:
  d[person.age].append(person.name)

</div>

defaultdict 和 dict 的使用方法一样,只有在初始化的时候必须传入一个 callable 的对象 x,当访问某个还不存在的 key 时,会把 value 自动设置成 x()。比如上例中,当第一次访问某个年龄的人 d[person.age] 就会变成 list(), 也就是 []。

当然也可以使用自己定义的 callable 对象,比如:

d = defaultdict(lambda: 0)
d["hello"] += 1     # 1
d["a"]         # 0
</div>

defaultdict 要比 dict.set_default 效率更高,使用起来也更直观和方便。

标准字典包括一个方法setdefault()来获取一个值,如果值不存在则建立一个默认值。defaultdict初始化容器是会让调用者提前指定默认值。

import collections
def default_factory():
  return 'default value'
d = collections.defaultdict(default_factory, foo = 'bar')
print 'd:', d
print 'foo =>', d['foo']
print 'var =>', d['bar']
</div>

只要所有键都有相同的默认值,就可以使用这个方法。
上面的结果是:

d: defaultdict(<function default_factory at 0x0201FAB0>, {'foo': 'bar'})
foo => bar
var => default value
</div>

</div>

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

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

相关文章

  • 使用Python简单的实现树莓派的WEB控制
  • python3访问sina首页中文的处理方法
  • 打开电脑上的QQ的python代码
  • 使用Python从有道词典网页获取单词翻译
  • 详解python中requirements.txt的一切
  • Python常用正则表达式符号浅析
  • Python读取图片属性信息的实现方法
  • python通过邮件服务器端口发送邮件的方法
  • windows系统中python使用rar命令压缩多个文件夹示例
  • 让python在hadoop上跑起来

文章分类

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

最近更新的内容

    • 在Python中调用ggplot的三种方法
    • Python打包文件夹的方法小结(zip,tar,tar.gz等)
    • Python实现的异步代理爬虫及代理池
    • python实现ftp客户端示例分享
    • videocapture库制作python视频高速传输程序
    • Python获取文件ssdeep值的方法
    • Python使用Supervisor来管理进程的方法
    • Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
    • 简介二分查找算法与相关的Python实现示例
    • 深入解析Python中的lambda表达式的用法

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

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