python中的defaultdict_简介Python的collections模块中defaultdict类型的用法
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)
defaultdict 和 dict 的使用方法一样,只有在初始化的时候必须传入一个 callable 的对象 x,当访问某个还不存在的 key 时,会把 value 自动设置成 x()。比如上例中,当第一次访问某个年龄的人 d[person.age] 就会变成 list(), 也就是 []。
当然也可以使用自己定义的 callable 对象,比如: d = defaultdict(lambda: 0)
d["hello"] += 1 # 1
d["a"] # 0
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']
只要所有键都有相同的默认值,就可以使用这个方法。
上面的结果是: d: defaultdict(, {'foo': 'bar'})
foo => bar
var => default value
python中的defaultdict_简介Python的collections模块中defaultdict类型的用法相关推荐
- Python的collections模块中namedtuple结构使用示例
namedtuple顾名思义,就是名字+元组的数据结构,下面就来看一下Python的collections模块中namedtuple结构使用示例 namedtuple 就是命名的 tuple,比较像 ...
- python中counter_Python collections模块中counter()的详细说明,Pythoncollections,之,Counter,详解...
collections模块 ==> Python标准库,数据结构常用的模块:collections包含了一些特殊的容器,针对Python内置的容器,例如list.dict.set和tuple,提 ...
- python优雅编程_Python优雅编程——Collections模块中的高性能数据类型
Python中内置了4 种数据类型,列表(List),元组(Tuple),集合(Set),字典(Dict).这些数据类型都有其各自的特性,但是有些特性,比如字典无序,在一定程度上对数据类型的使用产生了 ...
- python scipy.stats.norm.cdf_python的scipy.stats模块中正态分布常用函数总结
python的scipy.stats模块是连续型随机变量的公共方法,可以产生随机数,通常是以正态分布作为scipy.stats的基本使用方法.本文介绍正态分布的两种常用函数:1.累积概率密度函数sta ...
- python collections 模块中的 deque
collections.deque介绍 collections 是 python 内建的一个集合模块,里面封装了许多集合类,其中队列相关的集合只有一个:deque. deque 是双边队列(doubl ...
- 【Python】常用模块(三)——collections模块中的几个常用方法详解
前言 本篇博客主要就少Python常用模块collections中的几个常用方法,作为一种更高级的数据结构,这个模块提供了几个高效的方法来处理数据. Counter Counter用于统计元素个数,具 ...
- python namedtuple用法_Python的collections模块中namedtuple结构使用示例
namedtuple 就是命名的 tuple,比较像 C 语言中 struct.一般情况下的 tuple 是 (item1, item2, item3,...),所有的 item 都只能按照 inde ...
- python中main.py是什么意思_python 模块中的 __init__.py __main__.py的作用
python中文件夹想作为一个模块被引用,则在文件夹内必须要包含 __init__.py 文件,即使此文件为空. 如果此模块想要运行则必须要包含 __main__.py 文件.接下来说下两个文件起到的 ...
- python 多态app_多态简介 | Python从入门到精通:高阶篇之三十三-阿里云开发者社区...
多态 多态是面向对象的三大特征之一. 多态从字面上理解是多种形态.例如:狗有多个种类(狼狗.藏獒.哈士奇.古代牧羊犬...). 一个对象可以以不同的形态去呈现. 我们先来定义两个类: class A: ...
最新文章
- Halcon:手眼标定——眼在手外与眼在手上
- redux异步action_React躬行记(12)——Redux中间件
- MonkeyRunner学习(1)测试连接
- 【华为云技术分享】解析数据治理在过程可信变革中的运作流程
- 随记 elasticsearch
- css3 first letter,::first-letter
- 纯css3实现瀑布流布局
- POJ1068 Parencodings(模拟)
- 天正的计算机快捷命令大全,新手必看-史上最全CAD快捷键大全
- 计算机的计算百分比的函数是哪个好,excel用函数计算百分比计算的方法
- Axure-RP8 介绍
- connect holder is null问题记录
- 如何在win10上搭建服务器
- [喵咪软件推荐(1)]全球国家信息库
- Java直接AXIS调用远程WebService
- ICCV2021|你以为这是一个填色模型?其实我是检索模型!
- LED背光源运用在数控设备上
- 天瑞地安电子锁APP应用 为安全家居保驾护航
- Gigaphoton新型KrF光源“G60K”量产出货
- uni-app开发微信小程序使用腾讯地图选点和城市选择器插件
热门文章
- Linux文本处理之printf:规定输出内容与样式 %规定内容样式 \规定排版样式
- Yii的beforeAction
- 互为质数的勾股数c语言,c语言 寻求勾股数满足x2+y2=z2的正整数x,y和z称为一组勾股数(pythagorean...
- android 自动表单提交数据,Android 使用三种方式获取网页(通过Post,Get进行表单的提交)...
- python多核多线程编程_python是否支持多处理器/多核编程?
- qpython3l_介绍一下手机里能敲Python代码的软件,QPython3L和Pydroid3,顺便用有道翻译一下后者...
- mysql错误:file xxx conflicts with file from package mysql-libs-5.5.68-1.el7.x86_64
- java 文件流关闭 finally,关于java:为什么需要在“ finally”内关闭文件,而仍将其嵌入在“ try / catch”块内?...
- mysql某元素为空_PHP - MySQL,认为$ result在某些时刻是空的,当时应该有元素
- 光纤通道速率查看_基于OM3/OM4的光纤通道连接方案