问题标签 [ordereddictionary]

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 投票
3 回答
76459 浏览

python - 如何对 OrderedDict 的 OrderedDict 进行排序?

我正在尝试通过“深度”键对 OrderedDict 中的 OrderedDict 进行排序。有什么解决方案可以对该 Dictionary 进行排序吗?

排序的字典应该是这样的:

知道如何得到它吗?

0 投票
4 回答
16577 浏览

python - 从有序字典中获取前 N 个密钥对到另一个

我有一个OrderedDict按值排序的有序字典 ( )。如何获取顶部(比如 25 个)键值并将它们添加到新字典中?例如:我有这样的事情:

现在ordered是一个有序字典,我想创建一个字典,比如通过获取前 2 个最常见的项目及其键:

0 投票
2 回答
7473 浏览

python - 将 Python dict 提取到列表时的值顺序

我正在尝试通过执行以下操作从字典列表中获取所有值(对应于特定键的值除外):

someDict就像:

我知道 dict 没有固有的顺序。但是我的列表 fv 需要按顺序排列这些值。我正在考虑对键上的字典进行排序,然后做我刚刚做的事情。但这能保证有效吗?

我知道 usingOrderedDict是一种选择,但与 dict 相比,它的性能似乎也较差,这对我来说是一个问题,因为我的字典通常会包含大量数据。

更新:当我说我需要按顺序排列值时,它们实际上并不需要排序。我的意思是我需要能够每次都以固定的确定顺序检索值列表。在上面的示例中,我总是想得到 [[0.2,0.3],[0.9,0.4]] 尽管它本身可能不是排序顺序。排序将强制执行一个确定性顺序。我真正关心的是保持值在最终列表中的位置。例如 yKey 的值必须始终是每个列表中的第一个值,zKey 的值必须始终是每个列表中的第二个值依此类推,即使 ykey、zkey 等可能在字典中的任何顺序。

0 投票
5 回答
1811 浏览

python - 找到两个列表之间的 n 个最大差异

我有两个列表oldnew,具有相同数量的元素。

我正在尝试编写一个有效的函数,它n以参数为参数,比较相同位置的两个列表的元素(按索引),找到n最大的差异,并返回这些n元素的索引。

我在想这最好通过按值排序的字典来解决,但是Python中没有这个字典(而且我不知道有任何提供它的库)。也许有更好的解决方案?

0 投票
3 回答
753 浏览

python - 如何在 Python 中创建有界记忆装饰器?

显然,快速搜索会产生一百万种 Python 中的 memoization 装饰器的实现和风格。但是,我对我无法找到的味道很感兴趣。我希望它可以使存储值的缓存具有固定容量。添加新元素时,如果达到容量,则删除最旧的值并替换为最新的值。

我担心的是,如果我使用 memoization 存储大量元素,那么程序会因为内存不足而崩溃。(我不知道这个问题在实践中有多好。)如果缓存的大小是固定的,那么内存错误就不会成为问题。随着程序的执行,我处理的许多问题都会发生变化,因此初始缓存值看起来与后来的缓存值有很大不同(并且以后再次出现的可能性要小得多)。这就是为什么我希望用最新的东西代替最旧的东西。

我找到了OrderedDict该类和一个示例,该示例显示了如何对其进行子类化以指定最大大小。我想用它作为我的缓存,而不是普通的dict. 问题是,我需要 memoize 装饰器来获取一个maxlen默认为None. 如果是None,则缓存是无限的并且正常运行。任何其他值都用作缓存的大小。

我希望它像下面这样工作:

下面是我到目前为止的代码,但我看不到如何将参数传递给装饰器,同时使其“裸”和带有参数的工作。

编辑:使用 Ben 的建议,我创建了以下装饰器,我相信它的工作方式与我想象的一样。能够将这些修饰函数与 一起使用对我来说很重要,这multiprocessing在过去一直是个问题。但是对这段代码的快速测试似乎可以正常工作,即使将作业分配给线程池也是如此。

0 投票
4 回答
3483 浏览

python - Django中的SortedDict

我有一本字典,其中包含我想在模板中显示的时间列表:

我想在模板中创建一个下拉列表:

但是下拉列表中的元素并没有按照字典中定义的顺序出现。我错过了什么?

0 投票
4 回答
32068 浏览

python - OrderedDict 中的最后一个元素

我有od类型OrderedDict。我想访问它最近添加的 (key, value) 对。od.popitem(last = True)会这样做,但也会删除od我不想要的那对。

这样做的好方法是什么?我可以/应该这样做吗:

0 投票
9 回答
209916 浏览

python - 通过索引访问 collections.OrderedDict 中的项目

可以说我有以下代码:

有没有办法以编号方式访问项目,例如:

0 投票
2 回答
2432 浏览

python - Python普通字典到有序字典的转换

我有python普通字典。在这种情况下,不保留插入顺序。我需要保持元素的插入顺序。我知道OrderedDict可以完成这项工作。但是,我的问题是我需要从已经存在的普通字典中获取有序字典。无法更改此词典。以下是我的普通字典:

python中有什么方法可以保持现有字典中元素的顺序吗?任何帮助表示赞赏。使用 python 2.7

0 投票
4 回答
5581 浏览

python - python中的字符串到OrderedDict的转换

我通过导入集合创建了一个 python Ordered Dictionary 并将其存储在一个名为“filename.txt”的文件中。文件内容看起来像

我需要从另一个程序中使用这个 OrderedDict。我这样做

我需要得到'mydict'的类型

但在这里,它的类型是“str”。
python中有什么方法可以将字符串类型转换为OrderedDict类型?使用 python 2.7