Python中的defaultdict函数
from collections import defaultdict
defaultdict
用于产生一个带有默认值的dict。主要针对key不存在的情况下,也希望有返回值的情况。
>>> a = dict()
>>> a['k1'] = 1
>>> a
{'k1': 1}
>>> a['k2']
-------------------------------
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'k2'
>>>
对于普通的dict,key不存在就报错。
但是对于defaultdict,key不存在就会返回默认值。
那么默认值如何设定?通过给defaultdict()方法传参,传入的是一个函数(或叫做方法),当key不存在时,返回的就是这个函数的默认返回值。
'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
>>> a = defaultdict(int)
>>> a
defaultdict(<class 'int'>, {})
>>> a['k2']
0
>>>
此时就不会报错。而且返回值是0。
我们还发现了,原来int这个内置函数的默认值是0。看这个示例:
>>> print(int())
0
这里的函数可以是任意自定义函数,只要又default的return即可。
>>> from collections import defaultdict
>>> def fun(): return 666
...
>>> fun()
666
>>> a = defaultdict(fun)
>>> a
defaultdict(<function fun at 0x10a8185f0>, {})
>>> a['nonexist_key']
666
>>>
Python中的defaultdict函数相关推荐
- Python 中的 defaultdict 数据类型
Python 中的 defaultdict 数据类型 官方网址 首先,defaultdict 是 dict 的一个子类.通常 Python 中字典(dict)这种数据类型是通过键值对来存取的,当索引一 ...
- python中的pop()函数和popleft()函数
python中的pop()函数和popleft()函数 首先对于pop而言,它是用于stack中的: stack = [1, 2, 3, 4] print(stack) stack.append(6) ...
- python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)
python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录
- python中add函数_如何使用python中的add函数?
之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...
- python 2: 解决python中的plot函数的图例legend不能显示中文问题
python 2: 解决python中的plot函数的图例legend不能显示中文问题 参考文章: (1)python 2: 解决python中的plot函数的图例legend不能显示中文问题 (2) ...
- python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法
0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下
- python input与返回值-python中使用input()函数获取用户输入值方式
我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input(&qu ...
- Python中的sorted函数以及operator.itemgetter函数
from:Python中的sorted函数以及operator.itemgetter函数 operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪 ...
最新文章
- SAP PM设备主记录
- 【bug记录】getDeviceId: The user 10002 does not meet the requirements to access device identifiers.
- Vue.js学习过程
- 团队作业4——第一次项目冲刺(Alpha版本)2017.4.23
- 推荐一款UI非常Good的 Redis 客户端工具
- matlab每隔几个数求平均,每隔48个数求平均值
- c# TcpClient 客户端断线重连类库
- Java微信小程序的授权登陆
- 【矩阵论】矩阵的广义逆
- 纯css按钮代码,纯CSS实现3D按钮效果实例代码
- 京东话费充值,点击出现的css样式
- Cadence OrCAD Capture 查找功能详细介绍
- 直击微软第九频道著名主持Robert Green 对话一站式示例代码库大老板梁梅女士
- DRM系列(10)之drm_read
- 虚拟机怎么安装geany_75 个最常用的 Linux 应用程序(2018 年)
- html设置文本域的,HTML-文本域属性设置
- Cassandra 1
- 兔老大的系统设计(二)定时系统(延时队列)
- 【Arduino】控制A4950的循迹小车设计
- 传统项目之OA平台介绍