类似 Java 的TreeSet(与 HashSet 不同的是,TreeSet 具有排序功能,分为自然排序 (123456) 和自定义排序两类,默认是自然排序;在程序中,我们可以按照任意顺序将元素插入到集合中,等到遍历时 TreeSet 会按照一定顺序输出 -- 倒序或者升序 [https://www.jianshu.com/p/d6cff3517688]), python 继承 set 类,拥有 set 的功能,但是这个 set 是有序的,在初始化的时候可以将顺序的规则规定好。

比如:

>>>set = OrderedSet((2, 1, 5, 4, 5))
>>>{1, 2, 4, 5}
>>>set = OrderedSet((2, 1, 5, 4, 5), key=lambda x: x* -1)
>>>{5, 4, 2, 1}

自己试了一下,发现实例化之后输出是 None,百度了也没有看到相似的案例,请教大家怎么实现。


↙↙↙阅读原文可查看相关链接,并与作者交流