专栏首页程序生活Python中defaultdict用法

Python中defaultdict用法

  • defaultdict类就好像是一个dict,但是它是使用一个类型来初始化的
  • defaultdict类的初始化函数接受一个类型作为参数,当所访问的键不存在的时候,可以实例化一个值作为默认值
  • defaultdict类除了接受类型名称作为初始化函数的参数之外,还可以使用任何不带参数的可调用函数,到时该函数的返回结果作为默认值,这样使得默认值的取值更加灵活。
strings = ('puppy', 'kitten', 'puppy', 'puppy',
           'weasel', 'puppy', 'kitten', 'puppy')
counts = {}
"""
    单词统计
"""
# 方法1 使用判断语句检查
for word in strings:
    if word not in counts:
        counts[word] = 1
    else:
        counts[word] += 1
print(counts)

# 方法2 使用dict.setdefault()方法来设置默认值:
counts = {}
for word in strings:
    counts.setdefault(word, 0)
    counts[word] += 1
print(counts)

# 方法3 使用collections.defaultdict
from collections import defaultdict
counts = defaultdict(lambda: 0)
for word in strings:
    counts[word] += 1
print(counts)

结果:

{'puppy': 5, 'kitten': 2, 'weasel': 1}
{'puppy': 5, 'kitten': 2, 'weasel': 1}
defaultdict(<function <lambda> at 0x0000000001D12EA0>, {'puppy': 5, 'kitten': 2, 'weasel': 1})
[Finished in 0.1s]

更多: https://www.cnblogs.com/jidongdeatao/p/6930325.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算两个字符串相(或句子)似度的方法1 编辑距离2 余弦相似度3 FuzzyWuzzy

    致Great
  • 表格数据深度学习框架-DeepTables

    MLP(也称为全连接神经网络)已被证明在学习分布表示方面效率低下。 事实证明,感知器层的“Add”操作在探索乘法特征交互时性能较差。 在大多数情况下,必须进行手...

    致Great
  • Python 使用collections统计词频

    致Great
  • Python中defaultdict用法

    defaultdict类的初始化函数接受一个类型作为参数,当所访问的键不存在的时候,可以实例化一个值作为默认值

    用户1332428
  • 选择排序

    最近看了一则寓言故事跟童鞋们分享一下,讲的是大山深处的神坑(为了激发大家的想象力,这里我就不画画了,请同学们自行脑补)。事情是这样子的,旁白站在上帝视角抛出一个...

    丰臣正一
  • 乱炖“简书交友”数据之代码(2)

    继续更新出来本系列的代码:乱炖数据之2700余篇“简书交友”专题文章数据的花式玩法

    古柳_DesertsX
  • [日常] 解决github速度特别慢

    nslookup github.global.ssl.fastly.Net nslookup github.com

    陶士涵
  • leetcode之最短补全词

    这里就暴力求解,先统计licensePlate中字母的个数;之后遍历words,挨个统计每个word的字母个数,然后去校验是否包含licensePlate中的字...

    codecraft
  • leetcode之最短补全词

    这里就暴力求解,先统计licensePlate中字母的个数;之后遍历words,挨个统计每个word的字母个数,然后去校验是否包含licensePlate中的字...

    codecraft
  • 采购信息记录操作介绍

    SAP采购信息记录是物料采购活动信息的记录,用于维护物料与供应方一对一价格等主要信息关系,其中信息内容包括税率、最小采购批量,采购包装单位及其换算...

    用户5495712

扫码关注云+社区

领取腾讯云代金券