多重集的实现。

multiset的Python项目详细描述


这个包为python提供了一个multiset实现。

Latest version released on PyPiTest coverageBuild status of the master branchDocumentation Status

概述

multiset类似于内置的set,但它允许元素多次出现。 它是一个无序的元素集合,必须像在set中一样可以散列。 它支持与set相同的方法和操作,例如成员资格测试、并集、交集和 (对称)差:

>>> set1 = Multiset('aab')
>>> set2 = Multiset('abc')
>>> sorted(set1 | set2)
['a', 'a', 'b', 'c']

多集可以与sets

结合使用
>>> Multiset('aab') >= {'a', 'b'}
True

多集是可变的:

>>> set1.update('bc')
>>> sorted(set1)
['a', 'a', 'b', 'b', 'c']

有一个类似于frozenset的不可变版本,它也是散列的:

>>> set1 = FrozenMultiset('abc')
>>> set2 = FrozenMultiset('abc')
>>> hash(set1) == hash(set2)
True
>>> set1 is set2
False

该实现基于一个dict,它将元素映射到multiset中的多重性。 因此,支持一些字典操作。

与标准库中的collections.Counter不同,它对set有适当的支持 只允许正数。此外,多重性为零的元素将自动 从多集中删除。

安装

使用pip

$ pip install multiset

文件

文档可在Read the Docs找到。

API文档

如果要查找有关multiset类的特定方法的信息,请查看 API Documentation。它是从docstrings自动生成的。

许可证

根据MIT许可证授权。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java错误:无法找到或加载主类   Base85又名ASCI85 java项目   在Java oracle过程中创建Clob对象时引发AbstractMethodError   访问布尔Java时出现NullPointerException   在Java中压缩和解压缩字符串的调试程序   java了解JavaMail下未读消息的不同方法   java Vaadin 10网格样式基于内容的单个行   java使用Sparql查询识别实体的类别/分类   java如何在组件的设计阶段防止内存泄漏?   java使用共享首选项在应用程序上保存更改的语言   Spring数据jpa中具有复合PK的表的java本机查询   java复选框节点树