Python自定义有序数据结构

问题描述

我想知道在Python中是否存在一种数据结构,可以为此引入自定义内部排序策略。我知道OrderedDict之类的东西,但是它们并没有提供我所要求的明确内容。例如,OrderedDict仅保证插入顺序。 我真的很想在C ++中使用比较对象来提供一些东西:例如在std::set<Type,Compare,Allocator>中,Compare一个定义数据结构内部顺序的参数。通常,或者可能总是,它是一个二进制谓词,用于评估属于数据结构的一对元素。 Python中有类似的东西吗?您知道任何解决方法吗?

解决方法

SortedSet&Co支持key

>>> SortedSet([-3,1,4,1],key=abs)
SortedSet([1,-3,4],key=<built-in function abs>)