跳转到主要内容

Cython实现的有序集合。

项目描述

https://badge.fury.io/py/orderedset.png https://travis-ci.org/simonpercivall/orderedset.png?branch=master https://pypip.in/d/orderedset/badge.png

Cython实现的有序集合。基于Raymond Hettinger的OrderedSet配方

示例

>>> from orderedset import OrderedSet
>>> oset = OrderedSet([1, 2, 3])
>>> oset
OrderedSet([1, 2, 3])
>>> oset | [5, 4, 3, 2, 1]
OrderedSet([1, 2, 3, 5, 4])

功能

  • 像常规集合一样工作,但记住插入顺序;

  • 总体上比纯Python实现快约5倍(比 set 慢5倍);

  • 兼容Python 2.7至3.8;

  • 支持完整的集合接口;

  • 支持一些列表方法,如 index__getitem__

  • 支持与可迭代对象的集合方法。

变更日志

2.0.3 - 2020-02-26

  • bugfix:生成新的C文件以解决编译问题

2.0.2 - 2020-02-25

  • bugfix:修复Python 3.8+中对collections.abc的弃用警告

2.0.1 - 2018-03-20

  • bugfix:修复 isdisjoint 以在集合不交集时返回True

  • build:在测试时包括3.6

  • dist:在sdist中包括测试文件

  • docs:使Readme看起来更美观

2.0 - 2016-02-02

  • 重大变更:所有比较(除了 eq)现在都是无序的,即它们被视为常规集合。

  • isorderedsubsetisorderedsuperset 已添加以执行与其他序列的有序比较。使用这些方法与无序集合将产生任意(并且根据Python实现可能是不稳定的)结果。

1.2 - 2015-09-29

  • bugfix:集合操作仅在与OrderedSet在左侧时与可迭代对象一起工作。现在它们两个方向都可以工作。

  • 修复:交集的顺序是右侧的顺序。现在已修复为左侧的顺序。

1.1.2 - 2014-10-02

  • 使比较可以与集合和列表一起工作,并且在与None比较时不会崩溃。

1.1.1 - 2014-08-24

  • 为OrderedSet添加pickle/copy支持。

1.1 - 2014-06-04

  • 让OrderedSets在__getitem__()中处理切片。

1.0.2 - 2014-05-14

  • 添加适当的归属和许可证。

1.0.1 - 2014-05-13

  • 构建sdist不需要Cython。

1.0 - 2014-05-11

  • 首次实现。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

orderedset-2.0.3.tar.gz (101.4 kB 查看哈希值)

上传时间

由以下提供支持