千家信息网

python中defaultdict字典怎么用

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章给大家分享的是有关python中defaultdict字典怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。defaultdict是普通字典dict的一个子类。通
千家信息网最后更新 2025年01月25日python中defaultdict字典怎么用

这篇文章给大家分享的是有关python中defaultdict字典怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建。
defaultdict()需要传入的参数为 类名。(type类型)
首先,以int类 作为参数传入为例,

from collections import defaultdictdedict = defaultdict(int)print(dedict)

不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误

以调取’a’键的值为例:

print(dedict['a'])

此键的值默认为零。这是defaultdict()参数为int的情况,参数不同,默认值也不同。

defaultdict()需要传入的参数为 类名。(type类型)

传入其他类,来创建defaultdict(),效果如下:

from collections import defaultdictdedict1 = defaultdict(list)dedict2 = defaultdict(set)dedict3 = defaultdict(dict)dedict4 = defaultdict(tuple)dedict5 = defaultdict(int)dedict6 = defaultdict(float)dedict7 = defaultdict(str)# 创建一个什么用都没有的类class A(object):    pass# 传入可用!dedict8 = defaultdict(A)print(dedict1['a'])print(dedict2['a'])print(dedict3['a'])print(dedict4['a'])print(dedict5['a'])print(dedict6['a'])print(dedict7['a'])print(dedict8['a'])

程序运行结果如下:

可以看出,不存在的键的默认值为 传入 类 的 默认实例对象。
默认值的布尔值通常为False,但也不一定。
是否为False跟类有关,如此处的通过A类的布尔值就为True。

甚至,还可以套娃:

dedict9 = defaultdict(defaultdict)print(dedict9['a'])

defaultdict常用于统计多个目标数据的个数,并存储在defaultdict字典中。

示例如下:

from collections import defaultdictbag = ["cheese", "Bread", "apple", "Bread", "orange", "cheese", 'apple',"milk", "apple", "bananas", "milk"]count = defaultdict(int)for item in bag:    count[item] += 1print(count)

感谢各位的阅读!关于"python中defaultdict字典怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字典 参数 不同 普通 内容 布尔 更多 篇文章 类名 类型 有关 不错 实用 个数 多个 子类 实例 对象 情况 效果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鼎泽互联网科技 服务器推荐新手礼包32k 怎么开启数据库服务 中国初创企业数据库 全国总工会网络安全资格证书 网络安全执法是干嘛的 软件开发人月单价 湖北数据库安全箱销售厂 微信朋友圈数据库损坏的图片 华为网络技术大赛大专 如何应对常见网络安全 现在什么网络技术能赚钱 软件开发与顾客怎么签合同 单片机开发转软件开发好转吗 数据库字段可以是0吗 数据库的创建和管理系统 重庆软件开发的国企有哪些 电脑做服务器不备案可以吗 win7字体缓冲服务器 数据库提供的安全手段有哪些 阿里云 网络安全 攻击测试 边缘云服务器是什么东西 上海忠客软件开发中心 数据库原理及应用考试题目在线等 上海教育网络安全设备品牌 型号 制作软件开发流程图 学习软件开发需要学哪些知识 璧山区企业网络技术服务活动 sql数据库的关键字怎么用 大连松下软件开发公司
0