python中defaultdict()函数的介绍以及应用场景
很多人都把这个讲得很复杂,眼花缭乱的,其实很简单:defaultdict()是对dict的改进,如下:
def default0():return 0
from collections import defaultdict
ddict=defaultdict(default0)#空字典,由于字典是键-值的形式,由于定义了默认值为0,所以当键不存在,则返回默认值。
dict={}#平常我们常用的空字典,由于没有定义默认值,所以当键不存在,则直接报错。#测试
print(ddict[1])#随便用什么键测试都行,不一定要是1.
print(dict[1])#随便用什么键测试都行,不一定要是1.
结果如下:一个返回默认值,一个返回0。
分割线
那么defaultdict()有什么用呢?从from collections import defaultdict
我们大概就可以猜到,用来计数统计喽。
比如我们需要统计我们的包bag里每一种水果有多少个,如下:
bag = ['apple', 'apple', 'orange']#包里的水果
from collections import defaultdict
ddict=defaultdict(int)#int是什么鬼,带你长长见识,这个相当于默认值为0,更加简洁。但是文章开头那个定义更加通用。
for fruit in bag:ddict[fruit] += 1
ddict
结果如下:
显然,defaultdict
很方便,这个时候,如果我们用最普通的dict
的话,是要报错的,因为’apple’这样的键不存在,索引将报错keyerror。
python中defaultdict()函数的介绍以及应用场景相关推荐
- Python中defaultdict函数的使用方法
Python的字典是否有默认值? 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候 ...
- python中bin函数如何使用?
二进制对于大家再熟悉不过了,它是我们计算机编程中必要的语言,只有将其他进制转换为二进制,计算机才得以工作.本文主要介绍能够返回二进制表示的bin()函数,bin()函数用于获取数字的二进制值,接受数字 ...
- python中title函数的作用
我们在python编程中,有的时候需要写标题,但是代码格式为字符串.这时就要用到python中的title函数,它可以将首字母大写,将字符串转换为标题格式. 1.title函数 python中字符串函 ...
- Python中float() 函数是如何实现的?
Python中,会需要用到浮点数,这时就需要我们的float() 函数.float() 函数是一个常见的内置函数,可以将整数和字符串转换成浮点数.本文将向大家介绍float() 函数在Python中具 ...
- python中locals函数_python中locals函数的作用是什么?
在python中,每个模块拥有它自已的名字空间,即全局名字空间.它记录了模块的变量,包括函数.类.其它导入的模块.模块级的变量和常量,方便python的使用.python中字典的使用也是很常见的,使用 ...
- python中sleep函数用法_sleep函数函数介绍与使用方法详解
在一些竞猜的网站中,如果我们需要做一个定时执行的功能,比如有一道题,在十秒之内要完成,否则显示"您已超时",如果完成,则跳转到下一道题上面,而这中间有一个十秒的停顿,这样的功能是怎 ...
- 技术图文:举例详解Python中 split() 函数的使用方法
背景 这篇文章主要介绍Python中的split()函数的使用方法,split()函数通常用于将字符串切片并转换为列表,需要的朋友可以参考一下. 技术分析 Python中有split()和os.pat ...
- Python中eval函数的表达式如何使用
这篇文章主要介绍了Python中eval函数的表达式用法示例,文中通过示例对比来为大家进行详细的讲解,有需要的朋友可以借鉴参下,希望有所帮助 eval 是干嘛的? 解析字符串表达式并执行,并返回一个值 ...
- python中add函数_如何使用python中的add函数?
之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...
最新文章
- java短横线转驼峰_第二讲:Java的运作原理
- 高配人生背后:25岁前最该看透的事儿
- 天津财经计算机专业研究生分数线,天津财经大学各专业2015—2020年硕士研究生复试分数线汇总...
- 机器学习中的数学知识(part2)
- 如何在 ASP.Net Core 中使用 Consul 来存储配置
- 眼花缭乱的数据库,怎样选择?给你这个书单,想学哪个学哪个
- Jaxb2 转换XML文档
- hdu(杭电oj)输入输出练习题目总结
- CF - 1214D
- Layui图片上传限制一张的问题
- Linux 使用 iptables屏蔽IP段
- c语言写俄罗斯方块(源码)
- 英文java简历模板下载_java英文简历模板
- poj2287田忌赛马
- 《软件测试过程改进》读书笔记
- Python学习笔记三之编程练习:循环、迭代器与函数
- 卷积法求解系统的零状态响应_因果系统的零状态响应的一种简易计算方法
- 2021美团杯CTF ez-sql
- 鹿定制与国际大牌西服的10点区别?丨新浪官方长微博工具
- 由于和IBM合作“IBM软件人才联盟”的项目,在社区开一个“IBM人才论坛”
热门文章
- 销售 750000 册爆款「蟒蛇书」的新版抢先上市 | 9月书讯
- matlab中中图像PSNR和SSIM的计算
- Yann LeCun:未来几十年AI研究的最大挑战是「预测世界模型」
- 第一届全国计算社会科学高端论坛在清华大学举行
- 收藏 | 15个CNN关键回答集锦,2019校招面试必备!
- 匿名发差评被判赔3272元,北京研究生遭遇冲上热搜,涉事机构回应:暂不澄清...
- AndroidStudio开发jni不加载libs的so,只加载jniLibs的so
- Transformer变体为何无法应用于多种任务?谷歌:这些架构更改不能有效迁移
- 【CVPR2020-Oral】上交华为:GPA跨域目标检测
- 从语言、模型和规模三个维度,打造下一代AI