python中defaultdict字典功能特性介绍

 更新时间:2022年02月10日 11:32:46   作者:侯小啾    
这篇文章主要介绍了python中defaultdict字典功能特性,defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建,下面就对其功能进行详细介绍,需要的小伙伴可以参考一下

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

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

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

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

print(dedict['a'])

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

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

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

from collections import defaultdict

dedict1 = 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 defaultdict

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

到此这篇关于python中defaultdict字典功能特性介绍的文章就介绍到这了,更多相关python中defaultdict字典功能特性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python解释模型库Shap实现机器学习模型输出可视化

    python解释模型库Shap实现机器学习模型输出可视化

    Shap 是一个开源的 python 库,用于解释模型。它可以创建多种类型的可视化,有助于了解模型和解释模型是如何工作的。在本文中,我们将会分享一些Shap创建的不同类型的机器学习模型可视化
    2021-11-11
  • pytorch模型转onnx模型的方法详解

    pytorch模型转onnx模型的方法详解

    很多时候有pytorch模型转onnx模型的必要,比如用tensorRT加速的时候,下面这篇文章主要给大家介绍了关于pytorch模型转onnx模型的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Python实现读取目录所有文件的文件名并保存到txt文件代码

    Python实现读取目录所有文件的文件名并保存到txt文件代码

    这篇文章主要介绍了Python实现读取目录所有文件的文件名并保存到txt文件代码,本文分别使用os.listdir和os.walk实现给出两段实现代码,需要的朋友可以参考下
    2014-11-11
  • 利用Python统计Jira数据并可视化

    利用Python统计Jira数据并可视化

    目前公司使用 Jira 作为项目管理工具,在每一次迭代完成后的复盘会上,我们都需要针对本次迭代的 Bug 进行数据统计,以帮助管理层能更直观的了解研发的代码质量。本篇文章将介绍如何利用统计 Jira 数据,并进行可视化,需要的可以参考一下
    2022-07-07
  • Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)

    Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)

    Python是一种非常强大的脚本语言,可以用来实现各种复杂的应用,其中之一就是文本转语音,即把文字转换成声音来发出,下面这篇文章主要给大家介绍了关于Python语音合成之第三方库gTTs/pyttsx3/speech横评的相关资料,文中还介绍了详细的使用方法,需要的朋友可以参考下
    2023-05-05
  • Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统

    Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统

    这篇文章主要介绍了Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 如何解决pycharm中用matplotlib画图不显示中文的问题

    如何解决pycharm中用matplotlib画图不显示中文的问题

    这篇文章主要介绍了如何解决pycharm中用matplotlib画图不显示中文的问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • python分布式库celery处理大规模的任务并行化

    python分布式库celery处理大规模的任务并行化

    Python中的分布式任务队列时,Celery是一个备受推崇的工具,它是一个功能强大的分布式系统,可用于处理大规模的任务并行化,本文将介绍Celery的基本概念、用法和示例代码,帮助读者更好地了解和使用这个库
    2024-01-01
  • 详细介绍Python中的set集合

    详细介绍Python中的set集合

    本文详细介绍了Python中set集合的基本概念和详细用法,希望对读者朋友们有所帮助。需要的朋友可以参考下面具体的文章内容
    2021-09-09
  • python3.7.0的安装步骤

    python3.7.0的安装步骤

    本文分步骤给大家介绍了python3.7.0的安装步骤,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08

最新评论