预定义域上的有序子集

bitsets的Python项目详细描述


Latest PyPI VersionLicenseSupported Python VersionsFormatReadthedocs

TravisCodecov

这个包提供了一个内存效率高的纯pythonimmutable有序集 数据类型用于处理来自预定池的大量子集 对象的。

给定可散列对象的名称和元组,bitset()-函数返回 用于从对象池创建有序子集的自定义整数子类。 每个实例都是一个python整数,其中存在/不存在nth池 item是它的nth位被设置/取消设置(也称为位字符串,二次幂,秩 在{EM1} $ CyxICVICE< EEM>顺序)。

只是一个正则(任意精度)整数 在唯一对象集合和位模式之间转换的方法 允许以更自然的方式执行某些任务,例如排序 集合的词典编纂,或列举可能的组合 有秩序的时尚

安装

这个包在Python2.7和3.5+下运行,没有必需的依赖项, 使用pip安装:

$ pip install bitsets

快速启动

为从对象池中获取的集创建类:

>>>frombitsetsimportbitset>>>PYTHONS=('Chapman','Cleese','Gilliam','Idle','Jones','Palin')>>>Pythons=bitset('Pythons',PYTHONS)

访问其最大和最小实例。在中检索实例成员 定义顺序:

>>>Pythons.supremumPythons(['Chapman','Cleese','Gilliam','Idle','Jones','Palin'])>>>Pythons.infimumPythons()>>>Pythons(['Idle','Gilliam','Idle','Idle']).members()('Gilliam','Idle')

转换为位字符串、布尔序列和int:

>>>Pythons(['Chapman','Gilliam']).bits()'101000'>>>Pythons.frombits('101000')Pythons(['Chapman','Gilliam'])>>>Pythons(['Chapman','Gilliam']).bools()(True,False,True,False,False,False)>>>Pythons.frombools([True,None,1,False,0])Pythons(['Chapman','Gilliam'])>>>int(Pythons(['Chapman','Gilliam']))5>>>Pythons.fromint(5)Pythons(['Chapman','Gilliam'])

设置操作和比较方法(cf.内置frozenset):

>>>Pythons(['Jones','Cleese','Idle']).intersection(Pythons(['Idle']))Pythons(['Idle'])>>>Pythons(['Idle']).union(Pythons(['Jones','Cleese']))Pythons(['Cleese','Idle','Jones'])>>>Pythons.supremum.difference(Pythons(['Chapman','Cleese']))Pythons(['Gilliam','Idle','Jones','Palin'])>>>Pythons(['Palin','Jones']).symmetric_difference(Pythons(['Cleese','Jones']))Pythons(['Cleese','Palin'])>>>Pythons(['Gilliam']).issubset(Pythons(['Cleese','Palin']))False>>>Pythons(['Cleese','Palin']).issuperset(Pythons())True

另请参见

  • bitarray–以c扩展实现的高效布尔数组
  • bitstring–基于bytearray
  • 的纯python位字符串
  • BitVector–基于无符号shortarray
  • 的纯python位数组
  • Bitsets–sage中快速位集的cython接口
  • bitfield–cython正整数集
  • intbitset–整数位集作为c扩展名
  • gmpy2–快速任意精度整数运算

许可证

位集分布在MIT license下。

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

推荐PyPI第三方库


热门话题
java正则表达式查找但不包含在组中   java在for循环内的主线程中调用AsyncTask   java解析SOAP服务的响应时遇到问题。XML有什么问题?   java Servlet ClassNotFoundException出现在包中时。。。为什么?   Facebook SDK中的安卓 R.Java与应用程序R.Java冲突   java为什么我得到SSLProtocolexception:尝试发送http请求时握手失败?   java Base64编码字符串搜索   在htmlunit中选择java下拉菜单   java列表添加到HashMap   java设置断点的最短NOOP语句是什么?   java如何检索windows中所有应用程序最近使用的文件   java正则表达式,包含正向向后看和向前看   如何在java中通过API从url获取图像?   如何将for-each循环转换为Java流和lambda函数?   java如何使用jackson流式api解析给定的json?   java暂停调用方法jdbcTemplate。getDataSource()   java如何在使用getJdbcTemplate时使用union运算符设置sql查询的参数。查询(sql、新对象[]、行映射器)?   java我可以为HQL查询指定结果对象类型吗?   java Spring未满足的依赖项错误   maven试图重新定位poi jar,但未找到java类异常