脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python中defaultdict字典功能特性介绍

python中defaultdict字典功能特性介绍

2022-09-20 12:24侯小啾 Python

这篇文章主要介绍了python中defaultdict字典功能特性,defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建,下面就对其功能进行详细介绍,需要的小伙伴可以参考一下

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

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

python中defaultdict字典功能特性介绍

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

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

print(dedict["a"])

python中defaultdict字典功能特性介绍

此键的值默认为零。这是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"])

程序运行结果如下:

python中defaultdict字典功能特性介绍

可以看出,不存在的键的默认值为 传入 类 的 默认实例对象。
默认值的布尔值通常为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中defaultdict字典功能特性内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://skylarkprogramming.blog.csdn.net/article/details/122839482

延伸 · 阅读

精彩推荐
  • PythonPython使用asyncio包处理并发详解

    Python使用asyncio包处理并发详解

    这篇文章主要为大家详细介绍了Python使用asyncio包处理并发的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    zhexiao275792020-12-07
  • Pythonpython实现识别相似图片小结

    python实现识别相似图片小结

    本文给大家分享的是使用Python实现图片相似度识别的总结,代码实用pil模块比较两个图片的相似度,根据实际实用,代码虽短但效果不错,还是非常靠谱的...

    脚本之家7992020-08-13
  • PythonPython爬虫实战之12306抢票开源

    Python爬虫实战之12306抢票开源

    今天小编就为大家分享一篇关于Python爬虫实战之12306抢票开源,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编...

    Python新世界12682021-05-22
  • Python对python字典元素的添加与修改方法详解

    对python字典元素的添加与修改方法详解

    今天小编就为大家分享一篇对python字典元素的添加与修改方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    eacxzm20722021-03-13
  • Pythonpython 两种方法删除空文件夹

    python 两种方法删除空文件夹

    这篇文章主要介绍了python 两种方法删除空文件夹,帮助大家更好的利用python处理文件,感兴趣的朋友可以了解下...

    mentiantian12472020-09-30
  • PythonPython 统计列表中重复元素的个数并返回其索引值的实现方法

    Python 统计列表中重复元素的个数并返回其索引值的实现方法

    这篇文章主要介绍了Python 统计列表中重复元素的个数并返回其索引值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    弓长无忌12292021-10-25
  • Python用Python代码来解图片迷宫的方法整理

    用Python代码来解图片迷宫的方法整理

    这篇文章主要介绍了用Python代码来解图片迷宫的方法整理,本文精选了StackOverflow相关人气问题上的几个回答,需要的朋友可以参考下 ...

    StackOverflow3762020-05-28
  • Python将Dataframe数据转化为ndarry数据的方法

    将Dataframe数据转化为ndarry数据的方法

    今天小编就为大家分享一篇将Dataframe数据转化为ndarry数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    不二科技君7582021-03-10