问题标签 [sortedcontainers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
176 浏览

python - 对 SortedDictionary 进行排序需要与 OrderedDict 不同的键

我无法根据键值对字典进行排序,键值最初是字符串。我正在寻找一种使用SortedDict. 下面我将字符串转换为int,但排序似乎不合理。

退货

0 投票
1 回答
179 浏览

python - 如何有效地从 SortedDict 获取键的索引和值?

给定一个有序和键控的集合(如 OrderedDict 或SortedContainers SortedDict),我想要执行以下操作:

但是我看不到获取索引和给定键((ix, value) = d.get_index_and_value('second'))的值的有效方法。

这可能与 SortedDict 或其他容器一起使用吗?

在实践中,我的键是一个可排序的集合(日期),如果这意味着我可以使用更好的容器。

0 投票
1 回答
166 浏览

python - 如何实现具有多个排序顺序的 SortedContainers.SortedListWithKey?

由于“TypeError:一元操作数类型错误 -:'str'”异常,下面的代码将失败,但它说明了我想要实现的目标。

预期的输出是:

如果 Person.LastName 是数字类型成员,则上面的代码将起作用。

如果我没有实现一个 SortedList 而只是一个内置的未排序列表,我可以简单地做

但是对于我的情况,这个选项是不可能的。

SortedContainers 网站: http ://www.grantjenks.com/docs/sortedcontainers/index.html

0 投票
1 回答
104 浏览

python - 从 n×2 numpy 数组填充 SortedLIst

我有一个形状为 n×2 的 numpy 数组,一堆长度为 2 的元组,我想将其转移到 SortedList。所以目标是创建一个长度为 2 的整数元组的 SortedList。

问题是 SortedList 的构造函数检查每个条目的真值。这适用于一维数组:

但是对于二维来说,当每个条目都是数组时,没有明确的真值,SortedList 是不合作的:

我目前的解决方法是手动将每一行转换为一个元组:

但是,该解决方案提供了一些改进空间。有谁知道如何在不将所有数组显式解包成元组的情况下解决这个问题?

0 投票
1 回答
1094 浏览

python - 如何在 Python sortedcontainers 中按键正确使用 SortedSets

SortedListWithKey可以使用 lambda 函数对列表进行排序:

但是假设我需要使用set()来仅具有唯一值,文档说它还接受key=用于按自定义函数排序的参数,但我无法让它工作:

将抛出以下异常:

有没有办法做到这一点?

0 投票
1 回答
373 浏览

python - 如何在 sortedcontainers.SortedDict 中设置排序谓词?

有没有办法sortedcontainers.SortedDict按值对项目进行排序,以便 SortedDict 始终根据值而不是键以排序顺序维护其项目?

sortedcontainers的标准示例显示 SortedDict 中的项目将按字典键自动排序:

到目前为止,我设法在创建期间按值(日期时间)对 dict 中的项目进行排序:

但是,当我尝试添加新项目时,它会引发关键错误异常:

0 投票
2 回答
401 浏览

python - 使用不同的键获取 sortedcontainers.SortedKeyList 中的对象

假设我有一个具有以下定义的项目:

id是一个随机字符串。

sequence是表示将其Item放入数据结构中的顺序的数字。


我想将所有Item对象组织在某种数据结构中,该结构Item基于其sequence. 所以我使用了一个SortedKeyList,它们的键设置为sequence.

对于大多数操作,这可以正常工作。但问题是我有一个操作需要Item使用特定的id,但是没有办法使用上面的键来做到这一点。

我想做类似的事情:


附加信息

我打算添加的操作需要能够Item从特定的id.

使用上面的示例,此方法应返回以下结果:

0 投票
1 回答
70 浏览

python - 在 Python 中使用 sortedcontainers 来模拟 BST

我看到有些人推荐使用SortedContainers一些树结构,比如二叉树,就像这个reddit线程。SortedContainers的文档提到它比二叉树的典型实现更节省空间

话虽如此,我实际上并没有看到有人谈论如何使用它,如果有人对如何使用 Sortedcontainers 或 SortedCollection 模拟 BST 或类似的东西有参考,我将不胜感激

0 投票
1 回答
349 浏览

python - TypeError: __new__() 得到了一个意外的关键字参数 'load'


TypeError Traceback(最近一次调用最后一次)在

TypeError: new () got an unexpected keyword argument 'load'

0 投票
0 回答
1139 浏览

python - SortedList 中操作的时间复杂度 - Python

sortedcontainers 模块的 SortedList 实现中操作的时间复杂度是多少?据我了解,底层数据结构是一个数组列表。那么插入是否需要O(n)时间,因为可以找到索引O(logn)然后在正确的位置插入元素是O(n)?同样,从索引中弹出元素也必须如此O(n)