python中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字典功能特性内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python标准库defaultdict模块使用示例

    Python标准库中collections对集合类型的数据结构进行了很多拓展操作,这些操作在我们使用集合的时候会带来很多的便利,多看看很有好处. defaultdict是其中一个方法,就是给字典value元素添加默认类型,之前看到过但是没注意怎么使用,今天特地瞅了瞅. 首先是各大文章介绍的第一个例子: 复制代码 代码如下: import collections as coll    def default_factory():      return 'default value'    d =

  • Python dict和defaultdict使用实例解析

    先看一个需求 from collections import defaultdict """ 需求: 统计user_list中字母出现的次数 """ user_dict = {} user_list = ['A', 'B', 'C', 'A', 'C', 'C'] # 第一种方式 for item in user_list: if item not in user_dict: user_dict[item] = 1 else: user_dict

  • python中defaultdict的用法详解

    初识defaultdict 之前在使用字典的时候, 用的比较随意, 只是简单的使用dict. 然而这样在使用不存在的key的时候发生KeyError这样的一个报错, 这时候就该defaultdict登场了. 如何使用defaultdict 可以这样 from collections import defaultdict d1 = defaultdict(int) 或者这样 import collections d1 = collections.defaultdict(int) defaultdi

  • 详解Python 中的 defaultdict 数据类型

    这篇文章给大家介绍Python 中的 defaultdict 数据类型,具体内容如下所示: 官方网址 首先,defaultdict 是 dict 的一个子类.通常 Python 中字典(dict)这种数据类型是通过键值对来存取的,当索引一个不存在的键时,就会引发 keyerror 异常.那么,defaultdict 就可以解决这个问题,它可以实现为不存的键值返回一个默认值. defaultdict是 collections 包下的一个模块,defaultdict 在初始化时可以提供一个 defa

  • 在Python中使用defaultdict初始化字典以及应用方法

    Python中可以使用collections中的defaultdict类实现创建进行统一初始化的字典.这里总结两种常用一点的初始化方式,分别是初始化为list和int. 初始化为list示范代码: #!/usr/bin/python from collectionsimport defaultdict s = [('yellow',1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] d =defaultdict(list) for k

  • python中defaultdict字典功能特性介绍

    defaultdict是普通字典dict的一个子类.通过collections库的defaultdict()方法创建.defaultdict()需要传入的参数为 类名.(type类型)首先,以int类 作为参数传入为例, from collections import defaultdict dedict = defaultdict(int) print(dedict) 不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误 以调取’a’键的

  • python中defaultdict字典功能特性解析

    defaultdict是普通字典dict的一个子类.通过collections库的defaultdict()方法创建.defaultdict()需要传入的参数为 类名.(type类型)首先,以int类 作为参数传入为例, from collections import defaultdict dedict = defaultdict(int) print(dedict) 不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误以调取’a’键的值

  • python中的字典详细介绍

    一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型. 字典类型与序列类型的区别: 1.存取和访问数据的方式不同. 2.序列类型只用数字类型的键(从序列的开始按数值顺序索引): 3.映射类型可以用其他对象类型作键(如:数字.字符串.元祖,一般用字符串作键),和序列类型的键不同,映射类型的

  • python 中defaultdict()对字典进行初始化的用法介绍

    目录 用法讲解: 1. 不使用defaultdict(): 2. 使用defaultdict(): 用法讲解: 一般情况下,在使用字典时,先定义一个空字典(如dict_a = {}),然后往字典中添加元素只需要 dict_a[key] = value即可.读取字典中的元素时同理,但前提时字典中存在这个key,否则就会报错. 而defaultdict()的作用在于,即使字典中的key不存在,在查找时也会对它的value赋予一个默认值,从而避免了报错. 具体来说,defaultdict接受一个工厂函

  • Python中关于字典的常规操作范例以及介绍

    目录 1.字典的介绍 2.访问字典的值 (一)根据键访问值 (二)通过get()方法访问值 3.修改字典的值 4.添加字典的元素(键值对) 5.删除字典的元素 6.字典常见操作 1.len 测量字典中键值对的个数 2. keys 返回一个包含字典所有KEY的列表 3. values 返回一个包含字典所有value的列表 4. items 返回一个包含所有(键,值)元祖的列表 5. 遍历字典的key(键) 6. 遍历字典的value(值) 7. 遍历字典的items(元素) 8. 遍历字典的ite

  • Python中defaultdict与dict的差异详情

    目录 一.问题描述 二.解决方案 三.结语 本文转自微信公众号:"算法与编程之美", 一.问题描述 在collections模块中的defauldict使用时与dict有何不同,为何我们用dict中的key值不存在时会报错,而defaudict不会报错,下面做出解答. 二.解决方案 以解决遇到的问题用来解答. 代码示例: import collections //引用collections模块 dic=collections.defaultdict(int) //利用模块中的defau

  • python中defaultdict用法实例详解

    目录 defaultdict底层代码: setdefault()和defaultdict()的区别: setdefault() defaultdict() 总结 defaultdict底层代码: 在字典中查找某个值时,若key不存在时则会返回一个KeyError错误而不是一个默认值,这时候可以使用defaultdict函数. 注意:使用dict[key]=value时,若key不存在则报错:使用dict.get(key)时,若key不存在则会返回一个默认值. defaultdict接受一个工厂函

  • Python中对字典的几个处理方法分享

    目录 字典求和 列表剔重并计数 获取字典中最大的value 获取字典中出现value最大的key 字典对应元素追加 字典对应元素追加并剃重 对字典进行过滤 反转字典的方法(字典的key和value对换) 合并字典 字典求和 edge_weights = defaultdict(lambda: defaultdict(float)) for idx,node in enumerate(graph.nodes()): node2com[node] = idx #给每一个节点初始化赋值一个团id fo

  • python中defaultdict方法的使用详解

    目录 默认值可以很方便 使用判断语句检查 使用dict.setdefault()方法 使用collections.defaultdict类 defaultdict类是如何实现的 在旧版本的Python中实现类defaultdict的功能 默认值可以很方便 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候,字典中的每个键都存在默认值是非常方便的.例如下面的例子: strings =

  • python中的字典操作及字典函数

    字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 #字典的遍历方式 #默认遍历(遍历key) for value in dict_fruit: print(value) ''''' 遍历出的值: watermelon apple cherry avocado banana ''' #使用key遍历(与默认遍历一样) for key in dict_f

随机推荐