python 简单数据分析

collections. 这个模块提供容器相关的更高性能的数据类型,它们提供比通用容器 dict, list, set 和tuple更强大的功能。

**collections.defaultdict:
一个dict的子类,可以使创建的字典具有默认值

文档:
defaultdict means that if a key is not found in the dictionary, then instead of a KeyError being thrown, a new entry is created. The type of this new entry is given by the argument of defaultdict.

somedict = {}
print(somedict[3]) # KeyErrorsomeddict = defaultdict(int)
print(someddict[3]) # print int(), thus 0

Usually, a Python dictionary throws a KeyError if you try to get an item with a key that is not currently in the dictionary. The defaultdict in contrast will simply create any items that you try to access (provided of course they do not exist yet). To create such a “default” item, it calls the function object that you pass in the constructor (more precisely, it’s an arbitrary “callable” object, which includes function and type objects). For the first example, default items are created using int(), which will return the integer object 0. For the second example, default items are created using list(), which returns a new empty list object.

也就是说, 如果我用defaultdict创建字典,可以指定默认值,但默认值必须是可调用对象(函数对象),如list,int等。例如:

from collections import defaultdict
res2 = defaultdict(int) #默认值为0
defaultdict([]) #默认值为list
defaultdict(lambda:999) #默认值为999

还可以用自定义函数来代替lambda
此外,dict中的setdefault函数和此有共通之处,都可以指定默认值

部分参考如下:
作者: MrSu
出处:https://www.cnblogs.com/suguangti/p/13150567.html
版权:本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。

此外还有部分参考使用Python进行数据分析一书。

collections.defaultdict相关推荐

  1. 成功解决AttributeError: 'collections.defaultdict' object has no attribute 'iteritems'

    成功解决AttributeError: 'collections.defaultdict' object has no attribute 'iteritems' 目录 解决问题 解决思路 解决方法 ...

  2. defaultdict python3,Python collections.defaultdict() 与 dict的使用和区别|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/python.html 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collections. ...

  3. python defaultdict 类属性_Python collections.defaultdict模块用法详解

    Python中通过Key访问字典,当Key不存在时,会引发'KeyError'异常.为了避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值. 语法 ...

  4. python defaultdict(list)_Python collections.defaultdict() 与 dict的使用和区别

    在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collections.defaultdict()经常被用到.主要说说这个东西. 综述: 这里的defaultd ...

  5. LeetCode Cookbook 哈希表(collections.Counter()和collections.defaultdict())

    好久不更了,这次一鼓作气,学完它! 文章目录 LeetCode Cookbook 哈希表 30. 串联所有单词的子串 36. 有效的数独(很不错的循环题目) 49. 字母异位词分组 290. 单词规律 ...

  6. ‘collections.defaultdict‘ object has no attribute ‘iteritems‘

    error:'collections.defaultdict' object has no attribute 'iteritems' 源代码: for digit, n in digit_count ...

  7. python设置默认字典(setdefault collections.defaultdict)

    setdefault get collections defaultdict setdefault dict.setdefault(key, default=None) 如果键不存在于字典中,将会添加 ...

  8. python库整理:collections.defaultdict

    Python中通过Key访问字典,当Key不存在时,会引发'KeyError'异常.(之前dict里面的解决方法是使用get函数设置默认值) dit={'yellow': 3, 'blue': 4, ...

  9. python中的defaultdict_简介Python的collections模块中defaultdict类型的用法

    defaultdict 主要用来需要对 value 做初始化的情形.对于字典来说,key 必须是 hashable,immutable,unique 的数据,而 value 可以是任意的数据类型.如果 ...

最新文章

  1. HDFS的shell和API操作
  2. matlab在线性系统理论中的应用,线性系统理论相关的matlab应用.ppt
  3. matlab div矩阵运算,【求助】多维矩阵求和运算!!
  4. 【渝粤题库】国家开放大学2021春1335幼儿园课程与活动设计题目
  5. 第六十五期:央行万字工作论文:区块链能做什么、不能做什么?
  6. 大数据技术架构_架构大数据图
  7. java实现删除指定指定目录下面指定某种类型的文件
  8. JDK/Java 14 可能带来什么新特性?
  9. SpringMVC框架、Spring boot框架、SSM區別
  10. android 涂鸦之图片叠加,android图像处理系列之七--图片涂鸦,水印-图片叠加...
  11. MySQL优化详解(二)——数据库架构和使用优化
  12. 修改wordpress的footer内容
  13. 贪吃蛇小游戏——C语言编写
  14. 经理人必看的十个管理网站
  15. 硬盘写保护软件_三星T7 Touch 1TB移动固态硬盘评测:新奇又安全的加密方式普及?...
  16. 腾达ap设置说明_腾达(Tenda)F9无线路由器AP模式怎么设置[教程]?【图解】
  17. 不同因子影响下的不同情境的世界气温预测(的辣鸡tkinter UI可视化DEMO)
  18. 【转】售前的成长故事(19篇)
  19. git之如何合并部分提交
  20. android的一些简单配置修改(2)

热门文章

  1. netty 工控网关_开源软件分享-基于.NET的工控网关和组态软件
  2. Tensorflow 源码编译笔记(C++/C层)
  3. 参考文档一:性能测试---测试方案
  4. 《JAVA程序性能优化》总结
  5. redhat6.3 jfreechar中文乱码解决途径
  6. 【笔试面试考点】PreparedStatement和Statement的区别与联系批量插入数据的优化
  7. c语言中测长度的函数,c读入文本后,用strlen函数测不出正确长度
  8. 操作系统 --cpu与指令集
  9. 配置 Windows Server 2008 R2 DNS 服务器
  10. Android 跳转电话、邮件、短信等系统页面