Python--- defaultdict函数浅析

大学四年中看了无数篇别人发的帖子,忽然意识到自己也应该多多发表多多积累,那就学啥写啥吧

defaultdict 概括

python 中的defaultdict 是Python数据结构“字典”中的有特点的内容,所属包为 collections
其目的是解决字典查找时的缺失值时自动建立新的键,而不会出现报错的情况。

下面具体解释一下上述内容。

python字典

  1. 概括:字典Python中一种基本数据结构,其含义类似于C++中的“map",即为一个容器,其中装满了一对对键值对。
  2. 字典的定义:
    d = {key1 : value1, key2 : value2 } 其中key 和value是一一对应的关系,二者数据类型可同可不同,其中键不能为列表,值可以为列表等任何数据类型
  3. 字典查找:直接利用[方括号]
    如定义一个字典 myself = {“最喜欢吃” : “肉” " 最不喜欢吃" : “鱼”};
    查找是直接用 my_favorite=myself [“最喜欢吃”] ;就可以了
  4. 注意:如果在字典中查找不存在的键会报错
    如以上述定义为前提,查找my_favorite=myself [“我爸是谁”] ; 系统会得到keyerror报错。

处理缺失值

定义:myself = {“最喜欢吃” : “肉” " 最不喜欢吃" : “鱼”};

  1. get返回默认值:
    my_favorite=myself.get(“最喜欢吃”,0)键“最喜欢吃”已经存在,设置默认值0结果还是“肉”;
    my_favorite=myself.get(“我爸是谁”, "李刚”)对于不存在的键“我爸是谁”,默认值则为“李刚”。
  2. 通过方括号为键赋值
    myself[“最喜欢吃”] =“0” — 对于已有键,替换原有值“肉”为 “0”
    myself["我爸是谁“]= “李刚” — 对于不存在的键,再添加一条记录

defaultdic 使用规范

使用该函数,在查找一个没有包含在内的键时,它用一个你提供的零参数函数建立一个新的键,并设立默认值类型为你规定的类型。

  1. d1 = defaultdict(int) —调用函数后返回值即我们创建的标准字典,Int默认值为0,括号内必须为零参数函数

  2. d1 = defaultdict(list) —生成空列表
    d1[3].append(1)—现在d1包含{ 3 : [1] }

  3. d1 = defaultdict(dict)—生成新字典
    d1[“Beijing”][“City”]=“China” —{ “Beijing” : { “City” : “China”} }

    以上可看出,由于该函数自带对新键创建默认值的功能,当我们不想每次都查找某键是否存在,是否需要遍历一遍的时候,该函数就很有用了。

处理缺失值方面的应用— defaultdict

例: 如下代码旨在查找文件中的单词对应数目(即存在该单词就加1,不存在就创建该单词对应的键值对,并初始化值为0)
from collections import efaultdict
word_counts = defaultdict(int)   # int()默认生成0
for word in document:
	word_counts[word]+=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值