Java的TreeSet等同于Python?
我最近遇到了一些Java代码,这些代码只是简单地将一些字符串放入Java TreeSet中,为其实现了基于距离的比较器,然后将其快乐的方式变成了日落,以计算给定的分数来解决给定的问题。
我的问题,
-
是否有等效的数据结构可用于Python?
- Java树集看起来基本上是一个有序字典,可以使用某种比较器来实现这种排序。
我看到有一个Pep用于PaedDict的Py3K,但我使用的是2.6.x。有一堆有序的字典实现 - 特别是可以推荐的人吗?
PS,只是为了补充 - 我可能会导入DictMixin或UserDict并实现我自己的排序/排序字典,并通过比较器函数实现它 - 但这似乎有点过分了。
谢谢。
更新。感谢您的回答。为了详细说明一下,假设我有一个比较函数,它被定义为(给定一个特定的值ln),
def mycmp(x1, y1, ln):
a = abs(x1-ln)
b = abs(y1-ln)
if a<b:
return -1
elif a>b:
return 1
else:
return 0
我有点不确定如何将其集成到此处给出的有序字典链接中给出的顺序中..。
像这样,
OrderedDict(sorted(d.items(), cmp=mycmp(len)))
欢迎提出想法。