跳转到主要内容

可变和不可变有序集合的实现。

项目描述

PyPI version Doc Status License PyPI - Downloads

orderedsets

作为Python的dict类薄封装实现可变和不可变有序集合。这些类旨在作为Python内置的setfrozenset类的直接替代品。已经尽力提供与Python类相同的功能,不添加或删除API,以允许在集合实现之间轻松切换。这些类通常比其他有序集合实现更快(但比Python内置的集合慢)。

与Python内置的setfrozenset类相比,项目的顺序被保持(通常为插入顺序),这样在迭代集合中的项目以及更改操作都是确定的。

此包没有外部依赖项。

使用

使用以下命令安装此软件包

$ pip install orderedsets

使用示例

from orderedsets import OrderedSet, FrozenOrderedSet

os = OrderedSet([1, 2, 4])
os.add(0)
assert list(os) == [1, 2, 4, 0]
os.remove(0)

fos = FrozenOrderedSet([1, 2, 4])
# a.add(0)  # raises AttributeError: 'FrozenOrderedSet' object has no attribute 'add'
assert list(fos) == [1, 2, 4]

# sets with the same elements compare equal
assert os == fos == set([1, 2, 4]) == frozenset([1, 2, 4])

# only immutable sets can be hashed
assert hash(fos) == hash(frozenset([1, 2, 4]))

请参阅文档

参考文献

其他软件包

讨论

Python实现

项目详情


下载文件

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

源代码分布

此版本没有可用的源代码分布文件。请参阅生成分布存档的教程

构建分布

orderedsets-2024.2-py3-none-any.whl (7.0 kB 查看哈希值)

上传时间 Python 3

支持