美文网首页码农
Python下封装个好用计数字典包

Python下封装个好用计数字典包

作者: FSS_Sosei | 来源:发表于2019-10-19 21:43 被阅读0次

在Py下要用到计数字典时会发现,标准库里没有现成计数字典类

Py文档指引里给出用defaultdict类实现计数字典的方案。给出的例子:

>>> s = 'mississippi'

>>> d = defaultdict(int)

>>> for k in s:

...    d[k] += 1

...

>>> sorted(d.items())

[('i', 4), ('m', 1), ('p', 2), ('s', 4)]

字面意思看着并不一目了然

这样用没有简洁直观设置起点值的写法

也不方便用到复杂点的数据结构里,例如:{'a': {'x': 计数值, 'y': 计数值, 'z': 计数值}, 'b': {'x': 计数值, 'y': 计数值, 'z': 计数值}, 'c': {'x': 计数值, 'y': 计数值, 'z': 计数值}}

计数字典类型我这工作里不少处用到,封装个吧

用例如下:

>>> accumulated = count_dict()

>>> accumulated['x'] += 9

>>> accumulated.items()

dict_items([('x', 9)])

>>> accumulated = count_dict(10)    #设置起点值

>>> accumulated['x'] += 9

>>> accumulated.items()

dict_items([('x', 19)])

>>> accumulated = defaultdict(count_dict)    #可以在defaultdict里像基础类型一样使用

>>> accumulated['x']['y'] += 9

>>> {'x': dict(accumulated['x'])}

{'x': {'y': 9}}

>>> accumulated = defaultdict(count_dict(10))

>>> accumulated['x']['y'] += 9

>>> {'x': dict(accumulated['x'])}

{'x': {'y': 19}}

这下简洁了

已经发布到了PyPI上,可以很方便的安装分发了

pip install count-dict

程序里引用:

from count_dict_package import count_dict

源码在GitHub

GitHub - fsssosei/count_dict: This is a Python package for count dictionaries

相关文章

  • Python下封装个好用计数字典包

    在Py下要用到计数字典时会发现,标准库里没有现成计数字典类 Py文档指引里给出用defaultdict类实现计数字...

  • pycharm链接anaconda接口教程

    Pycharm是一个非常好用的Python编译运行IDE,anaconda则用于管理Python中各种各样的包。下...

  • python collections源码解析

    前段时间做leetcode题直接用到了python collections库里的Counter类(计数字典),自己...

  • JavaScript - 闭包

    理解 关于闭包 答案: 用arguments.callee和闭包实现的函数封装 应用 利用闭包实现自动递增计数

  • #MD#GromacsWrapper:Gromacs的Pytho

    GromacsWrapper是一个调用Gromacs工具的封装Python包,其能够完美的通过python脚本来运...

  • Python 操作字典 的几个技巧

    Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典. 1 创建字典 Py...

  • iOS学习笔记

    My Book中文 Welcome in my book! sasasasa 资源包 将传入的字典封装为模型 定义...

  • 我们一起学python(函数)

    如果了解了python代码的简单流程控,那么我们就要开始做一些简单的封装了. 函数 我们先来封装一个打印字典对象的...

  • 魔术方法、特殊方法

    __slots__ 默认情况下Python用一个字典来保存一个对象的实例属性,字典浪费了很多内存。Python不能...

  • 2018-01-15 python学习第三天

    字典:当索引不好用时 字典是一种通过名字引用值的数据结构。这种结构类型称为映射。字典是Python中唯一內建的映射...

网友评论

    本文标题:Python下封装个好用计数字典包

    本文链接:https://www.haomeiwen.com/subject/mginmctx.html